【发布时间】:2017-01-25 18:17:40
【问题描述】:
如何将我的全局变量移动到 Go 中的其他包中?
喜欢
package main
import "myapp/controllers"
var something string
func main(){
something = "some text"
}
【问题讨论】:
标签: go package global-variables
如何将我的全局变量移动到 Go 中的其他包中?
喜欢
package main
import "myapp/controllers"
var something string
func main(){
something = "some text"
}
【问题讨论】:
标签: go package global-variables
就像你想在你的包中拥有一个全局可访问的变量controllers?:
package controllers
var Something string
var SomethingElse string = "whatever"
func init(){
Something = "some text"
}
然后你就可以了
package main
import (
"myapp/controllers"
"fmt"
)
func main(){
fmt.Println(controllers.Something, controllers.SomethingElse) //some text
}
【讨论】:
只是为了添加 Daves 的答案,以及您遇到的另一个可能的问题。 变量名需要以大写字母开头才能可见
package main
import "myapp/controllers"
var Something string
func main(){
Something = "some text"
}
此外,如果 go.mod 文件中的模块名称很奇怪,您可能会遇到问题。在这个例子中,它应该看起来像这样
module myapp
go 1.16
require ()
【讨论】: