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

為了賬號(hào)安全,請(qǐng)及時(shí)綁定郵箱和手機(jī)立即綁定
已解決430363個(gè)問題,去搜搜看,總會(huì)有你想問的

Golang 地址運(yùn)算符和 (*int)(Type) 語法

Golang 地址運(yùn)算符和 (*int)(Type) 語法

Go
ibeautiful 2023-07-04 09:57:42
有以下內(nèi)容:type FlexInt intfunc (fi *FlexInt) UnmarshalJSON(data []byte) error {? ? if data[0] != '"' {? ? ? ? return json.Unmarshal(data, (*int)(fi))? ? }? ? var s string? ? if err := json.Unmarshal(data, &s); err != nil {? ? ? ? return err? ? }? ? i, err := strconv.Atoi(s)? ? if err != nil {? ? ? ? return err? ? }? ? *fi = FlexInt(i)? ? return nil}我明白它在做什么——但我不明白(*int)(fi)其中的一部分。查看指針的值,它與-fi相同。然而,當(dāng)我將該行更改為簡單時(shí),它會(huì)執(zhí)行無限循環(huán)(*int)(fi)(*int)(fi) == fifi
查看完整描述

2 回答

?
阿晨1998

TA貢獻(xiàn)2037條經(jīng)驗(yàn) 獲得超6個(gè)贊

該表達(dá)式轉(zhuǎn)換?fi*int.?結(jié)果包含相同的地址,但具有不同的類型。

如果將 a*FlexInt傳遞給json.Unmarshal,則將json.Unmarshal調(diào)用*FlexInt.UnmarshalJSON調(diào)用的方法json.Unmarshal,依此類推。


查看完整回答
反對(duì) 回復(fù) 2023-07-04
?
嚕嚕噠

TA貢獻(xiàn)1784條經(jīng)驗(yàn) 獲得超7個(gè)贊

它是相同的指針,但類型不同。當(dāng)使用包含 a 的json.Unmarshalan 調(diào)用時(shí),它會(huì)調(diào)用的方法。當(dāng)使用包含 an 的 an調(diào)用它時(shí),它使用內(nèi)置行為。由于和具有相同的基礎(chǔ)類型,因此可以將指向一個(gè)的指針轉(zhuǎn)換為指向另一個(gè)的指針,但這是接口將標(biāo)記的“實(shí)際”類型。interface{}FlexInt*FlexIntUnmarshalJSONinterface{}int*FlexIntint

查看完整回答
反對(duì) 回復(fù) 2023-07-04
  • 2 回答
  • 0 關(guān)注
  • 144 瀏覽

添加回答

舉報(bào)

0/150
提交
取消
微信客服

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

幫助反饋 APP下載

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

公眾號(hào)

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