【已解决】go语言中初始化类似于[]Cookie之类的列表变量

【问题】

折腾:

【记录】go语言中处理http的cookie

期间,需要先去搞懂,go语言中,如何去初始化列表类型的变量,类似于:

[]Cookie

以便,实现,后续可以通过:

http://golang.org/pkg/net/http/

func (*Response) Cookies
func (r *Response) Cookies() []*Cookie

Cookies parses and returns the cookies set in the Set-Cookie headers.

可以获得对应的Cookies。

 

【折腾过程】

1.参考:

http://golang.org/doc/effective_go.html#arrays

去试试:

var []Cookie curCookies = new []Cookie;

结果是:

语法错误:

D:\tmp\tmp_dev_root\go\src\github.com\user\EmulateLoginBaidu>go run EmulateLoginBaidu.go
# command-line-arguments
.\EmulateLoginBaidu.go:60: syntax error: unexpected [, expecting name or (

2.再去试试:

    //var []Cookie curCookies = new []Cookie;
    var []Cookie curCookies = nil;

结果是:

错误依旧。

3.再去试试:

    //var []Cookie curCookies = new []Cookie;
    //var []Cookie curCookies = nil;
    var curCookies []Cookie = nil;

结果是:

这句通过了,但是没找到Cookie:

D:\tmp\tmp_dev_root\go\src\github.com\user\EmulateLoginBaidu>go run EmulateLoginBaidu.go
# command-line-arguments
.\EmulateLoginBaidu.go:14: imported and not used: "net/url"
.\EmulateLoginBaidu.go:62: undefined: Cookie

4.再去试试:

    //var []Cookie curCookies = new []Cookie;
    //var []Cookie curCookies = nil;
    //var curCookies []Cookie = nil;
    var curCookies []http.Cookie = nil;

结果是:

D:\tmp\tmp_dev_root\go\src\github.com\user\EmulateLoginBaidu>go run EmulateLoginBaidu.go
# command-line-arguments
.\EmulateLoginBaidu.go:63: curCookies declared and not used

即,通过了语法检测,没有语法错误了:

curCookies declared and not used

剩下的,就是去考虑如何获得Response的Cookies了。

 

【总结】

对于此处,想要声明变量是个Cookie的数组(列表)的代码是:

import "net/http"
var curCookies []http.Cookie = nil;

即可。



发表评论

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

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