Go:对象选择器自 动解引用是什么?
发布时间:2022-12-01 12:58:32 所属栏目:语言 来源:
导读: 从一个结构体实例对象中获取字段的值,通常都是使用 . 这个操作符,该操作符叫做 选择器。 选择器有一个妙用,可能大多数人都不清楚。 当你对象是结构体对象的指针时,你想要获取字段属性时,按照常规理解应
|
从一个结构体实例对象中获取字段的值,通常都是使用 . 这个操作符,该操作符叫做 选择器。 选择器有一个妙用,可能大多数人都不清楚。 当你对象是结构体对象的指针时,你想要获取字段属性时,按照常规理解应该这么做 type Profile struct { Name string } func main() { p1 := &Profile{"iswbm"} fmt.Println((*p1).Name) // output: iswbm } 但还有一个更简洁的做法,可以直接省去 * 取值的操作,选择器 . 会直接解引用,示例如下 type Profile struct { Name string } func main() { p1 := &Profile{"iswbm"} fmt.Println(p1.Name) // output: iswbm } 也正是这个原因,因此在给你一个方法指定定一个接收者的时候,访问接收者的对象时,不需要像下面这样显示的解引用 type Person struct { name string } func (p *Person) Say() { fmt.Println((*p).name) } 而可以直接这样写 type Person struct { name string } func (p *Person) Say() { fmt.Println(p.name) } 是不是很简单?跟着明哥一起来攻克 Go 的各个边边角角的知识吧 (编辑:云计算网_汕头站长网) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |
站长推荐


浙公网安备 33038102330478号