我很好奇如何创建一个全局变量,当机会来临时可以分配给任何东西,这是我的场景:我必须等待从发送填充结构的服务器发出的事件,并且我想将其分配给创建该结构的变量:func NewCS(client *thing.Thing) *structThing {}但是*structThing没有出口所以我做不到var cs *structThing// Event finally readycs = NewCS(eventData)因为我收到*structThing未导出的错误。那么我还能怎么做cs一个全局变量呢?
1 回答
波斯汪
TA贡献1811条经验 获得超4个赞
您可以将其存储在类型为interface{}.
package main
import "fmt"
type structThing struct {
x int
}
func NewCS() *structThing {
return &structThing{x: 1}
}
var cs interface{}
func main() {
fmt.Println("cs is", cs)
cs = NewCS()
fmt.Println("cs is now", cs)
}
哪个打印:
cs is <nil>
cs is now &{1}
https://play.golang.org/p/ZW_6FRfDvE
- 1 回答
- 0 关注
- 135 浏览
添加回答
举报
0/150
提交
取消