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 对象选择器自动解引用怎么用?的主要内容,如果未能解决你的问题,请参考以下文章

go下载与环境配置

Go-Golang学习总结笔记

golang goquery selector(选择器) 示例大全

go语言中指针的使用场景?

golang中包循环依赖问题

golang调度器学习