第七色在线视频,2021少妇久久久久久久久久,亚洲欧洲精品成人久久av18,亚洲国产精品特色大片观看完整版,孙宇晨将参加特朗普的晚宴

為了賬號安全,請及時綁定郵箱和手機立即綁定
已解決430363個問題,去搜搜看,總會有你想問的

當(dāng)“用戶”是結(jié)構(gòu)時,什么是“(*用戶)(無)”?

當(dāng)“用戶”是結(jié)構(gòu)時,什么是“(*用戶)(無)”?

Go
胡子哥哥 2022-10-04 19:16:12
這將編譯:package mainimport (    "fmt")type User struct {    ID int64}func main() {    v := (*User)(nil)    fmt.Println(v)}這里,是什么?我在go-pg遇到了這種符號,并且不知道找到答案,因為在谷歌上搜索非常困難。(*User)(nil)
查看完整描述

1 回答

?
開滿天機

TA貢獻1786條經(jīng)驗 獲得超13個贊

如果 是一種類型,則是另一種類型,一種指針類型,一種指向 的指針。User*UserUser

(*User)(nil)是一種類型轉(zhuǎn)換:它將非類型化的預(yù)聲明標(biāo)識符轉(zhuǎn)換為 。您必須放在括號中,否則表達式將嘗試轉(zhuǎn)換為(如果是結(jié)構(gòu),則為編譯時錯誤),然后取消引用它。nil(*User)*UsernilUserUser

所以將是一個類型的變量,保存指針值。v*Usernil

表達式是一個短變量聲明,它等效于(速記)以下變量聲明v := (*User)(nil)

var v *User = nil

這當(dāng)然與

var v *User

因為如果缺少初始化表達式,則變量將初始化為其零值,該值適用于所有指針類型。nil


查看完整回答
反對 回復(fù) 2022-10-04
  • 1 回答
  • 0 關(guān)注
  • 98 瀏覽
慕課專欄
更多

添加回答

舉報

0/150
提交
取消
微信客服

購課補貼
聯(lián)系客服咨詢優(yōu)惠詳情

幫助反饋 APP下載

慕課網(wǎng)APP
您的移動學(xué)習(xí)伙伴

公眾號

掃描二維碼
關(guān)注慕課網(wǎng)微信公眾號