簡單介紹Go 中的空白識別符號下劃線
與 Python 一樣,Go 語言也有空白識別符號。
空白識別符號是未使用的值的佔位符。它由下劃線(_)表示。由於空白識別符號沒有名稱,因此它們也被稱為匿名佔位符。
在 Go 語言中, 不允許宣告未使用的變數或匯入語句。也就是說,我們無法宣告變數並將其留下未使用。同樣,如果您匯入一個包,那麼也必須使用它。
這個時候就需要一個空白識別符號。
如果 Go 中的函式返回多個值,則必須定義相等數量的變數來儲存這些值。但是,如果您只需要其中一些值而不需要其他值,若某次賦值需要匹配多個左值,但其中某個變數不會被程式使用, 那麼用空白識別符號來代替。該變數可避免建立無用的變數,並能清楚地表明該值將被丟棄。
如下所示:
result, error = Dosomething() if error { // handle error }
在上面的程式碼中,result 與程式無關,而且後續程式碼也沒有使用它。如果編譯的話,Go 編譯器會報錯。
result declared but not used
在這種情況下,您可以將結果替換為下劃線或空白識別符號,
如下所示:
_, error = Dosomething() if error { // handle error }
即使您宣告瞭一個變數,您也可以稍後使用空白識別符號來忽略它,如下面的程式碼所示:
product, error = Dosomething() if error { // handle error } // ignore unused variable _ = product
在 for...range 中使用空白標誌符
func Sum(numbers []int) int { sum := 0 for _, number := range numbers { sum += number } return sum }
可以利用 _ 分配任何東西:
var _ I = T{}
無法訪問此變數,以便將從生成的程式中最佳化。但是,如果 T 型別未分配給介面 I ,則可能會導致編譯錯誤。因此,在這種情況下,它被用作關於型別的靜態斷言。
在 Go 中,如果你匯入一個包,那麼你必須使用它,否則會出現編譯器錯誤。
imported and not used “”
空白識別符號可用於解決此編譯器錯誤。
有兩種方法可以使用空白識別符號來解決未使用的包錯誤,如下所示:
第一種:宣告一個全域性空白識別符號(在 main() 函式之前),該識別符號從未使用的包中訪問符號,例如下面程式碼中的 Open:
import "os" var _ = os.Open func main() { }
第二種:在未使用的包前加上一個空白識別符號,
如下所示:
import _ "os" func main(){ }
空白識別符號透過避免在整個程式碼中使用未使用的變數宣告,使程式碼更具可讀性。
Golang 中任何宣告但未使用的包和變數都會引發錯誤。這一規則使得我們的程式碼保持乾淨和輕量。
有時如果需要在未來使用並提前匯入一些軟體包,就可以使用空白識別符號。
有時候函式會返回多個引數,但是我們只需要使用其中一個變數的時候,就可以透過空白標誌符來進行接收。
到此這篇關於Go 中的空白識別符號下劃線的文章就介紹到這了。
來自 “ ITPUB部落格 ” ,連結:http://blog.itpub.net/69901823/viewspace-2886372/,如需轉載,請註明出處,否則將追究法律責任。
相關文章
- 《Effective Go》--空白識別符號Go符號
- vit中的生成分類識別符號介紹符號
- 正規表示式i大小寫識別符號作用簡單介紹符號
- go——識別符號的命名規範Go符號
- 2 Day DBA-介紹-資料庫識別符號資料庫符號
- javascript中的就加號+的用法簡單介紹JavaScript
- Oracle中的外連線簡單介紹(轉)Oracle
- 識別符號符號
- js 加號+運算子字串連線簡單介紹JS字串
- javascript的分號(;)用法簡單介紹JavaScript
- ionic V3.10 新建空白專案中檔案的簡單介紹
- css選擇器中的加號+的作用簡單介紹CSS
- 【Python】單下劃線與雙下劃線的區別Python
- JavaScript 識別符號JavaScript符號
- Go語言的識別符號、關鍵字、字面量、型別Go符號型別
- Python 中的單下劃線和雙下劃線Python
- 簡單介紹Go 語言單例模式Go單例模式
- js中大括號{}的用法簡單介紹JS
- python的識別符號Python符號
- 符號執行簡介符號
- 簡單介紹Rust中的workspaceRust
- js字串連線簡單介紹JS字串
- 命令識別符號(轉)符號
- XAML中的特殊符號幾空白字元處理符號字元
- javascript的逗號運算子的用法簡單介紹JavaScript
- fx 簡單介紹 [Go Hack 2017]Go
- URL和URI的區別簡單介紹
- callee與caller的區別簡單介紹
- 簡單介紹 "&&" 與 “&” 和 ”|“ 與 ”||“ 的區別
- 簡單介紹java中的equals()方法Java
- 簡單介紹Go語言常用的打log方式Go
- 簡單介紹Go 字串比較的實現示例Go字串
- SVG繪製直線簡單介紹SVG
- 06:合法 C 識別符號符號
- oracle 識別符號規範Oracle符號
- aix 系統識別符號AI符號
- GO語言————4.1 檔名、關鍵字與識別符號Go符號
- CSS 類名的單詞連字元:下劃線還是連線符?CSS字元