Go 中函數體外部的非宣告語句
在 Go 中,不可能使用非宣告在函數外部宣告變數陳述。當嘗試為未宣告的變數賦值時會發生此錯誤,如下例所示:
test := "This is a test." func main() { fmt.Println(test) test = "Another value" fmt.Println(test) }
解決方案
要聲明全域- Go 中可存取變量,請在main 函數之外使用var 關鍵字。變數的名稱應以小寫字母開頭,以使其成為包私有的(只能在其包內存取)。
var test = "This is a test"
此方法可讓您在函數外部宣告變數並在函數內變更其值在同一個套件中。
其他資訊
範例程式碼
以下是如何使用套件私有變數並更改其值的範例:
package apitest import ( "fmt" ) var sessionID string func main() { fmt.Println(sessionID) updateSessionID() fmt.Println(sessionID) } func updateSessionID() { sessionID = "NEW_SESSION_ID" }
在此範例中,sessionID可以從apitest 包中的任何位置存取變數。它在主函數中初始化為空字串,並在 updateSessionID 函數中更新。
以上是為什麼我不能給 Go 中函數外部的變數賦值?的詳細內容。更多資訊請關注PHP中文網其他相關文章!