内容简介:类型*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)
}
以上就是本文的全部内容,希望本文的内容对大家的学习或者工作能带来一定的帮助,也希望大家多多支持 码农网
本站部分资源来源于网络,本站转载出于传递更多信息之目的,版权归原作者或者来源机构所有,如转载稿涉及版权问题,请联系我们。
你也能看得懂的Python算法书
王硕,董文馨,张舒行,张洁 著 / 电子工业出版社 / 2018-11-1 / 59.00
编程的核心是算法,学习算法不仅能教会你解决问题的方法,而且还能为你今后的发展提供一种可能。 《你也能看得懂的Python算法书》面向算法初学者,首先介绍当下流程的编程语言Python,详细讲解Python语言中的变量和循序、分支、循环三大结构,以及列表和函数的使用,为之后学习算法打好基础。然后以通俗易懂的语言讲解双指针、哈希、深度优先、广度优先、回溯、贪心、动态规划和至短路径等经典算法。 ......一起来看看 《你也能看得懂的Python算法书》 这本书的介绍吧!