Golang作为一种“更好的C语言“,提供了面向对象编程思想的支持。
这一篇是上一篇的补充,主要阐述了go语言面向对象的一些特性,值传递和指针传递在go语言的运用,并补充了一些golang的数据类型
目录
一,Golang面向对象和类型系统
在go中你可以为任何类型添加相应的方法:
//为类型添加方法
type Integer int
//面向对象操作,对象是Integer这个类型的a值
func (a Integer) Less(b Integer) bool {
return a < b
}
//面向对象调用
func main() {
var a Integer = 1
if a.Less(2) {
fmt.println(a, " Less 2")
}
}
同时,我们也可以像之前一样面向过程
type Integer int
func Integer_less(a Integer, b Integer) bool {
return a < b
}
func main() {
var a Integer = 1
if Integer_less(a, 2) {
fmt.Println(a, " less 2")
}
}
所以能清楚的看出来两者的区别 有助于我们读懂并做好代码 避免有的时候自己调用自己