Go 變數宣告中神祕的「_」
在Go 中,常常會遇到這樣的變數宣告:
_, prs := m["example"]
這個_ 構造的目的是什麼,為什麼使用它而不是更直觀的prs := m["example"]?
空白標識符:忽略回傳值
_ 代表「空白識別碼」。它允許開發人員丟棄函數的回傳值。在本例中,m["example"] 表達式傳回一個包含兩個值的元組:「example」鍵處的元素和一個指示該鍵是否存在的布林值。透過使用 _,,我們只對鍵的存在感興趣,而不是值。
防止無效聲明
Go 嚴格執行變數聲明。如果我們聲明 prs 時沒有值,編譯器將引發錯誤。相反,我們使用空白標識符告訴 Go 我們承認返回值,但不打算使用它。
效率和程式碼可讀性
使用空白標識符避免聲明不需要的變量,提高程式碼效率。它還透過明確哪些回傳值被忽略來增強可讀性。
常見用例
自訂命名約定
有些開發者採用命名用作空白標識符的變數的約定,例如「ok」或「err」。這進一步提高了可讀性和一致性。範例
考慮以下程式碼片段:if _, err := os.Stat(path); os.IsNotExist(err) { fmt.Printf("%s does not exist\n", path) }
以上是Go 變數宣告中空白標識符「_」的用途是什麼?的詳細內容。更多資訊請關注PHP中文網其他相關文章!