标签:面向对象
- 
        
Go 语言的面向对象使用场景
目前大部分高级语言都支持面向对象,比如 C++, JAVA, PHP 等,那么 Go 语言的面向对象怎么使用? 下面我们从面向对象的三个基本特性说起:封装、继承和多态。
封装,就是指运行的数据和函数绑定在一起,C++ 中主要是通过 this 指针来完成的; 继承,就是指 class 之间可以相互继承属性和函数; 多态,主要就是用统一的接口来处理通用的逻辑,每个 class 只需要按照接口实现自己的回调函数就可以了。
封装
package main import "fmt" type data struct { val int } func (p_data* data)set(num int) { p_data.val = num } func (p_data* data)show() { fmt.Println(p_data.val) } func main() { p_data := &data{4} p_data.set(5) p_data.show() }继承
package main import "fmt" type parent struct { val int } type child struct { parent num int } func main() { var c child c = child{parent{1}, 2} fmt.Println(c.num) fmt.Println(c.val) }多态
package main import "fmt" type act interface { write() } type xiaoming struct { } type xiaofang struct { } func (xm *xiaoming) write() { fmt.Println("xiaoming write") } func (xf *xiaofang) write() { fmt.Println("xiaofang write") } func main() { var w act; xm := xiaoming{} xf := xiaofang{} w = &xm w.write() w = &xf w.write() }以下就是 Go 语言的面向对象的使用方法。使用上比 C++ 表现得更加简洁和直接。
 
文章归档
              
              
                2025 年 10 月
                2
              
              
              
                2025 年 09 月
                1
              
              
              
                2025 年 04 月
                1
              
              
              
                2025 年 01 月
                1
              
              
              
                2024 年 12 月
                1
              
              
              
                2024 年 11 月
                1
              
              
              
                2024 年 10 月
                2
              
              
              
                2024 年 09 月
                2
              
              
              
                2024 年 07 月
                1
              
              
              
                2024 年 06 月
                1
              
              
            
            文章日历
| 2025 年 11 月 | ||||||
|---|---|---|---|---|---|---|
| 日 | 一 | 二 | 三 | 四 | 五 | 六 | 
| 25 | 26 | 27 | 28 | 29 | 30 | 01 | 
| 02 | 03 | 04 | 05 | 06 | 07 | 08 | 
| 09 | 10 | 11 | 12 | 13 | 14 | 15 | 
| 16 | 17 | 18 | 19 | 20 | 21 | 22 | 
| 23 | 24 | 25 | 26 | 27 | 28 | 29 | 
| 01 | 02 | 03 | 04 | 05 | 06 | 07 | 
文章标签
- Linux
 - Go
 - Yii
 - 新浪
 - CentOS
 - PHP
 - Git
 - WSL
 - Composer
 - Mac
 - 入职
 - Bootstrap
 - macOS
 - UCenter
 - 厦门
 - 出差
 - 长沙
 - 湖南卫视
 - 微博
 - Tengine
 - YUI
 - 泰国
 - pecl
 - 优化
 - GitLab
 - 迁移
 - rootless
 - 年会
 - 生日
 - Tengin
 - RedHat
 - Sphinx
 - cygwin
 - Windows
 - Tmux
 - Zsh
 - 升级
 - MySQL
 - sql_mode
 - Shadowsockets
 - 面向对象
 - HTTP
 - 状态码
 - grep
 - unoconv
 - PPT
 - Nginx
 - htpasswd
 - golang
 
最新评论
- 
                
                Tengine 2.2.2 配置 http2 协议出现的坑 - 
                
                Yii China 是官方唯一认可的中文社区 - 
                
                Go 语言中 json 的操作以及常见问题 - 
                
                新浪赴泰国曼谷和芭提雅团建 - 
                
                CentOS 安装 PHP7 - 
                
                WordPress 如何控制每页显示的条数 - 
                
                关于 phpMyAdmin 免输入用户名和密码,直接进入管理界面 - 
                
                PHP 5.4 的新特性 - 
                
                PHP 5.4 的新特性 - 
                
                PHP 5.4 的新特性