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

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

錯誤在戈蘭下劃線沒有解釋

錯誤在戈蘭下劃線沒有解釋

Go
桃花長相依 2022-07-11 17:23:45
Goland 在 err 變量中顯示下劃線,但沒有解釋為什么/沒有下劃線原因的工具提示(見下圖——箭頭指向奇怪的下劃線)。有人知道下劃線的原因嗎?(這似乎不是因為上面幾行定義了err,因為我在其他文件中有類似的err重用并且它們中沒有下劃線)。這是代碼,盡管如果沒有來自 IDE 的解釋圖片,這個問題將毫無意義,因為這似乎是 Goland 中的一個錯誤。package mypackimport (    "fmt"    "os")func SomeFunc() (string, error) {    err := GetSomething()    if err != nil {        return "", fmt.Errorf("some err")    }    currentDirectory, err := os.Getwd()    if err != nil {        return "", fmt.Errorf("error getting current dir. %v", err)    }    return currentDirectory, nil}func GetSomething() error {    return nil}
查看完整描述

1 回答

?
長風(fēng)秋雁

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

帶下劃線的變量不是錯誤指示。GoLand 通知您正在重新分配err變量。

您首先在此處創(chuàng)建變量:

err := GetSomething()

然后在該行中重新分配相同的變量:

currentDirectory, err := os.Getwd()

這就是為什么err加下劃線的原因。不是錯誤,只是為了讓您更清楚這一點。

有時,不希望重新分配變量,因為它可能會產(chǎn)生不希望的副作用。

在這種特殊情況下,我認為擁有單個err變量并在整個函數(shù)/方法中重用它是一種常見的 Go 模式。


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

添加回答

舉報

0/150
提交
取消
微信客服

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

幫助反饋 APP下載

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

公眾號

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