在 Go 中,在 if 語句作用域內宣告的變數僅在該區塊內可見。當需要使用條件語句中宣告的變數時,這可能會帶來挑戰。
考慮以下程式碼:
if len(array1) > len(array2) { new1 := make([]string, 0, len(array1)) } // Error: new1 is not visible here new2 := make([]string, 0, len(new1))
在此範例中,宣告了變數 new1在 if 語句中且只能在該範圍內使用。要解決此問題,必須在 if 語句外部聲明 new1 並在其中初始化。
var new1 []string if len(array1) > len(array2) { new1 = make([]string, 0, len(array1)) } else { new1 = make([]string, 0, len(array2)) } new2 := make([]string, 0, len(new1))
現在,new1 在 if 語句外部聲明,並且可以在 if 和 else 區塊中存取。這允許它在後續程式碼中使用,並作為參數傳遞給 make。
以上是如何存取 Go if 語句內部宣告的變數?的詳細內容。更多資訊請關注PHP中文網其他相關文章!