猿问

Go:如何创建一个全局变量来保存任何东西?

我很好奇如何创建一个全局变量,当机会来临时可以分配给任何东西,这是我的场景:


我必须等待从发送填充结构的服务器发出的事件,并且我想将其分配给创建该结构的变量:


func NewCS(client *thing.Thing) *structThing {


}

但是*structThing没有出口所以我做不到


var cs *structThing


// Event finally ready

cs = NewCS(eventData)

因为我收到*structThing未导出的错误。


那么我还能怎么做cs一个全局变量呢?


MMMHUHU
浏览 136回答 1
1回答

波斯汪

您可以将其存储在类型为interface{}.package mainimport "fmt"type structThing struct {&nbsp; &nbsp; x int}func NewCS() *structThing {&nbsp; &nbsp; return &structThing{x: 1}}var cs interface{}func main() {&nbsp; &nbsp; fmt.Println("cs is", cs)&nbsp; &nbsp; cs = NewCS()&nbsp; &nbsp; fmt.Println("cs is now", cs)}哪个打印:cs is <nil>cs is now &{1}https://play.golang.org/p/ZW_6FRfDvE
随时随地看视频慕课网APP

相关分类

Go
我要回答