为什么在init函数初始化server时是空的,然而在调用的时候却是有数据的,其中conf.GetWsServer()是读取配置文件中的数据,对server初始化的方法。求大神帮解析一下这个过程!!!![server1.png](https://static.studygolang.com/190111/aa13ad29aa68f314f8cbf3501d8a33e7.png)![server2.png](https://static.studygolang.com/190111/53fb60ef18984849fc3f6a26354f989f.png)
初始化当然只有一次啊……
你要整理下顺序。
一般来说,代码的执行顺序是这样的
各个package的init函数
main函数
main函数调用的函数。
从我的角度来看,你应该在man函数里发起调用初始化的函数。
以我自己的代码为例,大概是这样的:
main函数:
![2019-01-15 10-02-56 的屏幕截图.png](https://static.studygolang.com/190115/197b8b5907817a1239c8c97d406ac720.png)
模块的启动函数
![2019-01-15 10-00-55 的屏幕截图.png](https://static.studygolang.com/190115/2f897cb730574543918d67568731a1e9.png)
#5
更多评论
一般除非做过赋值,init时变量当然是空的啊……
init不是做这个事情的。
init在包引入的时候执行的,在main函数执行之前的。
你需要自己有一套合适的初始化流程
#1
其他地方还有对server做改动的操作吗,只能说init后server的确还是空的,但init到你getWsServer之间有什么操作就不知道了。
#2