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

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

為什么 `fmt.Println("%T\n", e)` 其中 `e` 是一個(gè)錯(cuò)誤變量打印出

為什么 `fmt.Println("%T\n", e)` 其中 `e` 是一個(gè)錯(cuò)誤變量打印出

Go
慕妹3242003 2023-06-05 13:30:40
我最近在玩 Go 語(yǔ)言,我遇到了一些奇怪的東西,至少可以說(shuō),讓我們考慮一個(gè)非常簡(jiǎn)單的函數(shù):func main() {    n, e := fmt.Println(`He said: "Hello"`)    fmt.Printf("%T\n", n)}哪個(gè)輸出我所期待的:He said: "Hello"int現(xiàn)在,如果我想顯示的類型e:func main() {    n, e := fmt.Println(`He said: "Hello"`)    fmt.Printf("%T\n", e)}這次打印出來(lái):He said: "Hello"<nil>我得到的部分是沒(méi)有錯(cuò)誤,所以e是一個(gè)空指針:nil但我沒(méi)想到它本身就是一個(gè) ~~type~~ 。為什么我沒(méi)有得到實(shí)際類型?如果是這樣,是否有解決方法?(并不是說(shuō)我的用例是一個(gè)現(xiàn)實(shí)的用例,但好奇是否有任何可能性)
查看完整描述

2 回答

?
當(dāng)年話下

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

Go 編程語(yǔ)言規(guī)范

錯(cuò)誤

預(yù)先聲明的類型錯(cuò)誤定義為

type?error?interface?{
??Error()?string}

它是表示錯(cuò)誤條件的常規(guī)接口,nil 值表示沒(méi)有錯(cuò)誤。

接口類型

接口類型指定稱為其接口的方法集。接口類型的變量可以存儲(chǔ)任何類型的值,方法集是接口的任何超集。據(jù)說(shuō)這樣的類型實(shí)現(xiàn)了接口。接口類型的未初始化變量的值為 nil。

零值

當(dāng)通過(guò)聲明或調(diào)用 new 為變量分配存儲(chǔ)空間時(shí),或者通過(guò)復(fù)合文字或調(diào)用 make 創(chuàng)建新值時(shí),并且沒(méi)有提供顯式初始化,則給出變量或值一個(gè)默認(rèn)值。這種變量或值的每個(gè)元素都被設(shè)置為其類型的零值:接口為 nil。


一個(gè)零值error類型,一個(gè)接口,沒(méi)有類型。它的值為nil。


查看完整回答
反對(duì) 回復(fù) 2023-06-05
?
慕尼黑8549860

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

e是一個(gè)空指針

不,error它本身 - 接口,所以你不會(huì)在這里輸入。


查看完整回答
反對(duì) 回復(fù) 2023-06-05
  • 2 回答
  • 0 關(guān)注
  • 415 瀏覽
慕課專欄
更多

添加回答

舉報(bào)

0/150
提交
取消
微信客服

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

幫助反饋 APP下載

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

公眾號(hào)

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