日韩无码专区无码一级三级片|91人人爱网站中日韩无码电影|厨房大战丰满熟妇|AV高清无码在线免费观看|另类AV日韩少妇熟女|中文日本大黄一级黄色片|色情在线视频免费|亚洲成人特黄a片|黄片wwwav色图欧美|欧亚乱色一区二区三区

RELATEED CONSULTING
相關(guān)咨詢
選擇下列產(chǎn)品馬上在線溝通
服務時間:8:30-17:00
你可能遇到了下面的問題
關(guān)閉右側(cè)工具欄

新聞中心

這里有您想知道的互聯(lián)網(wǎng)營銷解決方案
Go:對象選擇器自動解引用是什么?

從一個結(jié)構(gòu)體實例對象中獲取字段的值,通常都是使用 . 這個操作符,該操作符叫做 選擇器。

成都創(chuàng)新互聯(lián)專注于撫順縣企業(yè)網(wǎng)站建設,響應式網(wǎng)站,電子商務商城網(wǎng)站建設。撫順縣網(wǎng)站建設公司,為撫順縣等地區(qū)提供建站服務。全流程按需規(guī)劃網(wǎng)站,專業(yè)設計,全程項目跟蹤,成都創(chuàng)新互聯(lián)專業(yè)和態(tài)度為您提供的服務

選擇器有一個妙用,可能大多數(shù)人都不清楚。

當你對象是結(jié)構(gòu)體對象的指針時,你想要獲取字段屬性時,按照常規(guī)理解應該這么做

 
 
 
 
  1. type Profile struct {
  2.     Name string
  3. }
  4. func main() {
  5.     p1 := &Profile{"iswbm"}
  6.   fmt.Println((*p1).Name)  // output: iswbm
  7. }

但還有一個更簡潔的做法,可以直接省去 * 取值的操作,選擇器 . 會直接解引用,示例如下

 
 
 
 
  1. type Profile struct {
  2.     Name string
  3. }
  4. func main() {
  5.     p1 := &Profile{"iswbm"}
  6.     fmt.Println(p1.Name)  // output: iswbm
  7. }

也正是這個原因,因此在給你一個方法指定定一個接收者的時候,訪問接收者的對象時,不需要像下面這樣顯示的解引用

 
 
 
 
  1. type Person struct {
  2.     name string
  3. }
  4. func (p *Person) Say() {
  5.     fmt.Println((*p).name)
  6. }

而可以直接這樣寫

 
 
 
 
  1. type Person struct {
  2.     name string
  3. }
  4. func (p *Person) Say() {
  5.     fmt.Println(p.name)
  6. }

是不是很簡單?跟著明哥一起來攻克 Go 的各個邊邊角角的知識吧


文章標題:Go:對象選擇器自動解引用是什么?
分享地址:http://m.5511xx.com/article/djhossc.html