为了账号安全,请及时绑定邮箱和手机立即绑定

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

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

Go
MMMHUHU 2021-11-22 18:14:43
我很好奇如何创建一个全局变量,当机会来临时可以分配给任何东西,这是我的场景:我必须等待从发送填充结构的服务器发出的事件,并且我想将其分配给创建该结构的变量: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


查看完整回答
反对 回复 2021-11-22
  • 1 回答
  • 0 关注
  • 135 浏览
慕课专栏
更多

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信