您好,登錄后才能下訂單哦!
這篇文章主要介紹了go語言空白標識符怎么使用的相關知識,內容詳細易懂,操作簡單快捷,具有一定借鑒價值,相信大家閱讀完這篇go語言空白標識符怎么使用文章都會有所收獲,下面我們一起來看看吧。
在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 “<package name>”
空白標識符可用于解決此編譯器錯誤。
有兩種方法可以使用空白標識符來解決未使用的包錯誤,如下所示:
第一種:聲明一個全局空白標識符(在 main() 函數之前),該標識符從未使用的包中訪問符號,例如下面代碼中的 Open:
import "os"
var _ = os.Open
func main() {
}
第二種:在未使用的包前加上一個空白標識符,如下所示:
import _ "os"
func main(){
}
空白標識符通過避免在整個代碼中使用未使用的變量聲明,使代碼更具可讀性。
關于“go語言空白標識符怎么使用”這篇文章的內容就介紹到這里,感謝各位的閱讀!相信大家對“go語言空白標識符怎么使用”知識都有一定的了解,大家如果還想學習更多知識,歡迎關注億速云行業資訊頻道。
免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。