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" }
在此示例中,可以从 apitest 中的任何位置访问 sessionID 变量包裹。它在主函数中初始化为空字符串,并在 updateSessionID 函数中更新。
以上是为什么我不能给 Go 中函数外部的变量赋值?的详细内容。更多信息请关注PHP中文网其他相关文章!