Go 对象选择器自动解引用怎么用?
Posted 知其黑、受其白
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Go 对象选择器自动解引用怎么用?相关的知识,希望对你有一定的参考价值。
阅读目录
Go 对象选择器自动解引用怎么用?
从一个结构体实例对象中获取字段的值,通常都是使用 . 这个操作符,该操作符叫做选择器。
选择器有一个妙用,可能大多数人都不清楚。
当你对象是结构体对象的指针时,你想要获取字段属性时,按照常规理解应该这么做:
package main
import "fmt"
type Profile struct
Name string
func main()
p1 := &Profile"iswbm"
fmt.Println((*p1).Name) // output: iswbm
但还有一个更简洁的做法,可以直接省去 *
取值的操作,选择器 . 会直接解引用,示例如下:
package main
import "fmt"
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 对象选择器自动解引用怎么用?的主要内容,如果未能解决你的问题,请参考以下文章