从一个结构体实例对象中获取字段的值,通常都是使用 . 这个操作符,该操作符叫做 选择器。
成都创新互联专注于抚顺县企业网站建设,响应式网站,电子商务商城网站建设。抚顺县网站建设公司,为抚顺县等地区提供建站服务。全流程按需规划网站,专业设计,全程项目跟踪,成都创新互联专业和态度为您提供的服务
选择器有一个妙用,可能大多数人都不清楚。
当你对象是结构体对象的指针时,你想要获取字段属性时,按照常规理解应该这么做
- 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 的各个边边角角的知识吧
新闻名称:Go:对象选择器自动解引用是什么?
网页链接:http://www.shufengxianlan.com/qtweb/news20/31670.html
网站建设、网络推广公司-创新互联,是专注品牌与效果的网站制作,网络营销seo公司;服务项目有等
声明:本网站发布的内容(图片、视频和文字)以用户投稿、用户转载内容为主,如果涉及侵权请尽快告知,我们将会在第一时间删除。文章观点不代表本网站立场,如需处理请联系客服。电话:028-86922220;邮箱:631063699@qq.com。内容未经允许不得转载,或转载时需注明来源: 创新互联