Go语言学习(十四)面向对象编程-可见性
2016-05-11 21:32
453 查看
Go语言对关键字的增加非常吝啬,其中没有private、protected、public这样的关键
字。要使某个符号对其他包(package)可见(即可以访问)需要将该符号定义为以大写字母
开头,如:
这样,Rect类型的成员变量就全部被导出了,可以被所有其他引用了Rect所在包的代码访问到。
成员方法的可访问性遵循同样的规则,例如:
这样,Rect的area()方法只能在该类型所在的包内使用。
需要注意的一点是,Go语言中符号的可访问性是包级别的而不是类型级别的.在上面的例
子中,尽管area()是Rect的内部方法,但同一个包中的其他类型也都可以访问到它.这样的可
访问性控制很粗旷,很特别但是非常实用。
字。要使某个符号对其他包(package)可见(即可以访问)需要将该符号定义为以大写字母
开头,如:
type Rect struct { X, Y float64 Width, Height float64 }
这样,Rect类型的成员变量就全部被导出了,可以被所有其他引用了Rect所在包的代码访问到。
成员方法的可访问性遵循同样的规则,例如:
func (r *Rect) area() float64 { return r.Width * r.Height }
这样,Rect的area()方法只能在该类型所在的包内使用。
需要注意的一点是,Go语言中符号的可访问性是包级别的而不是类型级别的.在上面的例
子中,尽管area()是Rect的内部方法,但同一个包中的其他类型也都可以访问到它.这样的可
访问性控制很粗旷,很特别但是非常实用。
相关文章推荐
- 第一步 django的下载安装
- 基于入度的拓扑排序(Kahn's Algorithm)
- Go-Pholcus抓取IJGUC所有期刊
- 一起学Netty(十)之 Netty使用Google的ProtoBuf
- Django登录、注册、退出
- tango_with_django 中7.3.2 添加slug字段报错解决
- django 从get,post获取数据
- 网盘大全, 邮箱大全 good
- hiho1087状态压缩dp
- 关于django migrations的使用
- django的admin后台注册model并显示
- hdu1847——Good Luck in CET-4 Everybody!(巴什博奕)
- 自身体验Ubuntu14.04安装ROS Indigo版本
- ORA-01017 invalid username/password;logon denied" (密码丢失解决方案)
- golang的select典型用法
- 排序-冒泡排序和选择排序(golang)
- Go语言的安装和程序启动方法
- 解决win7打印机共享 出现“无法保存打印机设置,操作无法完成(错误0x000006d9)”
- golang安装
- Maven抛出NoGoalSpecifiedException异常