内容简介:类型*T方法集类型T的方法集
类型*T方法集
// code_018_struct_method_set project main.go package main import ( "fmt" ) //类型*T方法集 type Person struct { name string sex byte age int } //指针作为接收者,引用语义 func (p *Person) SetInfoPointer() { (*p).name = "yoyo" p.sex = 'f' p.age = 22 } //值作为接收者,值语义 func (p Person) SetInfoValue() { p.name = "xxx" p.sex = 'm' p.age = 33 } func main() { //p 为指针类型 var p *Person = &Person{"mike", 'm', 18} p.SetInfoPointer() //func (p) SetInfoPointer() fmt.Println(p) p.SetInfoValue() //func (*p) SetInfoValue() fmt.Println(p) (*p).SetInfoValue() //func (*p) SetInfoValue() fmt.Println(p) }
类型T的方法集
// code_018_struct_method_set2 project main.go package main import ( "fmt" ) //类型T方法集 type Person struct { name string sex byte age int } func (p *Person) SetInfoPointer() { (*p).name = "yoyo" p.sex = 'f' p.age = 22 } func (p Person) SetInfoValue() { p.name = "xxx" p.sex = 'm' p.age = 33 } func main() { //p为普通类型 var p Person = Person{"ck_go", 'm', 18} (&p).SetInfoPointer() p.SetInfoPointer() p.SetInfoValue() (&p).SetInfoValue() fmt.Println(p) }
以上就是本文的全部内容,希望本文的内容对大家的学习或者工作能带来一定的帮助,也希望大家多多支持 码农网
猜你喜欢:- 理解实例方法、类方法、静态方法
- 【MyBatis源码分析】insert方法、update方法、delete方法处理流程(上篇)
- 【MyBatis源码分析】insert方法、update方法、delete方法处理流程(上篇)
- java:方法覆盖与方法重载
- 静态方法、实例化方法与线程安全
- JS数组方法总览及遍历方法耗时统计
本站部分资源来源于网络,本站转载出于传递更多信息之目的,版权归原作者或者来源机构所有,如转载稿涉及版权问题,请联系我们。
信息论、推理与学习算法
麦凯 / 高等教育出版社 / 2006-7 / 59.00元
本书是英国剑桥大学卡文迪许实验室的著名学者David J.C.MacKay博士总结多年教学经验和科研成果,于2003年推出的一部力作。本书作者不仅透彻地论述了传统信息论的内容和最新编码算法,而且以高度的学科驾驭能力,匠心独具地在一个统一框架下讨论了贝叶斯数据建模、蒙特卡罗方法、聚类算法、神经网络等属于机器学习和推理领域的主题,从而很好地将诸多学科的技术内涵融会贯通。本书注重理论与实际的结合,内容组......一起来看看 《信息论、推理与学习算法》 这本书的介绍吧!