【已解决】go语言中的全局变量

【背景】

折腾:

【记录】用go语言实现模拟登陆百度

期间,需要去搞清楚,如何使用全局变量。

【折腾过程】

1.参考:

Global variables

好像是,直接放到函数外边,就是全局变量了?

去试试,相关代码为:

/* 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()
}
 

即可。



发表评论

电子邮件地址不会被公开。 必填项已用*标注

无觅相关文章插件,快速提升流量