加入收藏 | 设为首页 | 会员中心 | 我要投稿 拼字网 - 核心网 (https://www.hexinwang.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 综合聚焦 > 编程要点 > 语言 > 正文

Go:对象选择器自动解引用是什么?

发布时间:2021-11-03 10:15:26 所属栏目:语言 来源:互联网
导读:从一个结构体实例对象中获取字段的值,通常都是使用 . 这个操作符,该操作符叫做 选择器。 选择器有一个妙用,可能大多数人都不清楚。 当你对象是结构体对象的指针时,你想要获取字段属性时,按照常规理解应该这么做 type Profile struct { Name string } fu
从一个结构体实例对象中获取字段的值,通常都是使用 . 这个操作符,该操作符叫做 选择器。   选择器有一个妙用,可能大多数人都不清楚。   当你对象是结构体对象的指针时,你想要获取字段属性时,按照常规理解应该这么做   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 的各个边边角角的知识吧    

(编辑:拼字网 - 核心网)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!