首頁 > 後端開發 > Golang > Go 變數宣告中空白標識符「_」的用途是什麼?

Go 變數宣告中空白標識符「_」的用途是什麼?

Patricia Arquette
發布: 2025-01-02 20:10:39
原創
443 人瀏覽過

What is the Purpose of the Blank Identifier

Go 變數宣告中神祕的「_」

在Go 中,常常會遇到這樣的變數宣告:

_, prs := m["example"]
登入後複製

這個_ 構造的目的是什麼,為什麼使用它而不是更直觀的prs := m["example"]?

空白標識符:忽略回傳值

_ 代表「空白識別碼」。它允許開發人員丟棄函數的回傳值。在本例中,m["example"] 表達式傳回一個包含兩個值的元組:「example」鍵處的元素和一個指示該鍵是否存在的布林值。透過使用 _,,我們只對鍵的存在感興趣,而不是值。

防止無效聲明

Go 嚴格執行變數聲明。如果我們聲明 prs 時沒有值,編譯器將引發錯誤。相反,我們使用空白標識符告訴 Go 我們承認返回值,但不打算使用它。

效率和程式碼可讀性

使用空白標識符避免聲明不需要的變量,提高程式碼效率。它還透過明確哪些回傳值被忽略來增強可讀性。

常見用例

  • 映射鍵存在檢查: _, 現在:= timeZone[tz]
  • 頻道讀取有效性:
  • _, err := os.Read(f)
  • 丟棄迴圈迭代值:
  • for _, value := range array { ... }

自訂命名約定

有些開發者採用命名用作空白標識符的變數的約定,例如「ok」或「err」。這進一步提高了可讀性和一致性。

範例

考慮以下程式碼片段:
if _, err := os.Stat(path); os.IsNotExist(err) {
    fmt.Printf("%s does not exist\n", path)
}
登入後複製

在此範例中,我們使用空白識別碼測試指定路徑中為否存在文件,不關心文件的屬性。

以上是Go 變數宣告中空白標識符「_」的用途是什麼?的詳細內容。更多資訊請關注PHP中文網其他相關文章!

來源:php.cn
本網站聲明
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn
作者最新文章
熱門教學
更多>
最新下載
更多>
網站特效
網站源碼
網站素材
前端模板