Go 方法 学习笔记
来源:互联网 发布:制作电子文档软件 编辑:程序博客网 时间:2024/06/14 18:42
方法method
- Go 中虽没有class,但依旧有method
- 通过显示说明receiver来实现与某个类型的组合
- 只能为同一个包中的类型定义方法
- Receiver 可以是类型的值或者指针
- 不存在方法重载
- 可以使用值或指针来调用方法,编译器会自动完成转换
- 从某种意义上来说,方法是函数的语法糖,因为receiver其实就是方法所接收的第1个参数(Method Value vs. Method Expression)
- 如果外部结构和嵌入结构存在同名方法,则优先调用外部结构的方法
- 类型别名不会拥有底层类型所附带的方法
- 方法可以调用结构中的非公开字段
1、init函数
package mainimport ( "fmt")var I intfunc main() {}func init() { I = 0 fmt.Println("Call mypackage init1")}func init() { I = 1 fmt.Println("Call mypackage init2")}
输出结果:
2、方法与函数
package mainimport ( "fmt")type A struct { name string}type B struct { name string}// int都可以进行拓展type DD int8func main() { // a := A{} // a.print() // // (*a).print() // fmt.Println(a) // b := B{} // b.print() // fmt.Println(b) //调用方法的两种方式 var d DD d.print() (DD).print(d)}func (a *A) print() { a.name = "a_name" fmt.Println("A")}func (b B) print() { b.name = "b_name" fmt.Println("B")}func (d DD) print() { fmt.Println("D")}
本文参考整理自:《Go 编程基础》
个人微信公众号:
作者:jiankunking 出处:http://blog.csdn.net/jiankunking
阅读全文
0 0
- Go 方法 学习笔记
- Go语言学习笔记(五)方法
- 【Go学习笔记】Hello Go!
- Go语言学习笔记
- Go学习笔记
- go学习笔记
- Go语言学习笔记
- go语言学习笔记
- Go学习笔记
- Go学习笔记(2)
- Go语言学习笔记
- go学习笔记
- Go学习笔记:interface
- GO语言学习笔记
- Go语言学习笔记
- GO语言学习笔记
- Go Template学习笔记
- Go学习笔记一
- 浅谈分布式锁
- 2017中国旅游暨安防机器人大赛总结
- HDU 6103Kirinriki
- 电脑内存暴涨!!运行奇慢无比!!
- ThinkPad E550 连蓝牙鼠标logitech M557
- Go 方法 学习笔记
- HDU6085-Rikka with Candies
- HDU
- MySql基础一
- java IO的概念和分类
- MAven学习 — <dependencies> && <dependencyManagement>
- Yolo 9000的darknet实现
- 【剑指offer】面试题3:数组中重复的数字
- Maven学习 — <build> 中的 <plugins>元素的作用