4-2 go封装性
Posted paad
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了4-2 go封装性相关的知识,希望对你有一定的参考价值。
package main import "fmt" //定义结构体 type Persion struct //定于结构体属性 name string age int sex bool hobby []string /* 封装结构体的方法 - 无论方法的主语定于为止类型还是指针类型,对象值和对象指针都能够正常访问 -通常会将主语定义为指针累 */ func (p Persion) Eat() fmt.Printf("%s爱饕餮\n", p.name) func (p Persion) Drink() fmt.Printf("%s爱喝酒\n", p.name) func (p Persion) Love() fmt.Printf("%s是有感情的\n", p.name) func MakeHimlove(p Persion) p.Love() func MakeHisLove(p *Persion) p.Love() func main01() //创建空白的Persion 对象(object)/实例(instance) rangge := Persion //设置其属性 rangge.name = "让哥" //访问其方法 rangge.Eat() rangge.Drink() rangge.Love() func main012() //创建对象是给指定属性赋值,可以不必全部赋值 //rangge := Persionname: "西门阿让", sex: true, age: 9 //创建对象时按顺序给所有属性赋值 rangge := Persion"西门阿让", 8, true, []string"撸代码" rangge.Eat() func main() rangge := Persion"西门阿让", 8, true, []string"撸代码" //要求传递值就必须传递值 MakeHimlove(rangge) //要求传递指针就必须传递指针/地址/引用 MakeHisLove(&rangge) //值传递传递的是副本,引用传递传的才是真身
以上是关于4-2 go封装性的主要内容,如果未能解决你的问题,请参考以下文章