【背景】
折腾:
期间,需要去搞清楚,如何使用全局变量。
【折腾过程】
1.参考:
好像是,直接放到函数外边,就是全局变量了?
去试试,相关代码为:
/* Global Variables */ var curCookies []*http.Cookie; //do some init for crifanLib func init() { fmt.Println("init something"); curCookies = nil } func main() { init() }
结果是出现“syntax error: unexpected semicolon or newline before {”的错误:
【已解决】go语言中的函数编译出错:syntax error: unexpected semicolon or newline before {
2.然后,又出现“undefined: init”的错误:
【已解决】go语言中函数编译出错:undefined: init
3.然后,此处,就完全的实现了,对应的全局变量的效果了:
自己全局定义了一个变量:
/* Global Variables */ var curCookies []*http.Cookie;
然后放在另外一个函数中初始化:
//do some init for crifanLib func initCrifanLib(){ fmt.Println("init something"); curCookies = nil return }
再在main函数中,调用此函数:
func main() { initCrifanLib() }
是可以实现对应的初始化此全局变量的。
【总结】
go语言中的全局变量,就是普通的放在函数之外,即可。
而且,此处的变量,好像是属于package级别的全局变量。
相关代码演示:
package main import ( "fmt" "net/http" ) /* Global Variables */ var curCookies []*http.Cookie; //do some init for crifanLib func initCrifanLib(){ fmt.Println("init something"); curCookies = nil return } func main() { initCrifanLib() }
即可。
转载请注明:在路上 » 【已解决】go语言中的全局变量