内容简介:类型*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数组方法总览及遍历方法耗时统计
本站部分资源来源于网络,本站转载出于传递更多信息之目的,版权归原作者或者来源机构所有,如转载稿涉及版权问题,请联系我们。
expert one-on-one J2EE Development without EJB 中文版
[美] Rod Johnson、Juergen Hoeller / JavaEye / 电子工业出版社 / 2005-9 / 59.80元
乍一看这本书的名字,Expert one on one J2EE development without EJB并没有给人带来太冲击。毕竟关于J2EE的书太多了,而without EJB看上去有点象是故意挑衅EJB的感觉。一本J2EE的书怎么可能会给人带来信念或思维的冲击呢?但是它做到了,它不仅使自己变成了不朽的经典,也使Rod Johnson成为了我最近一年的新偶像。 ......一起来看看 《expert one-on-one J2EE Development without EJB 中文版》 这本书的介绍吧!