最新消息:服务器现已从linode换到fzhost.net,且主题已从retina 0.2换为大前端D8

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

GO crifan 10浏览 0评论

【问题】

折腾:

【记录】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;

即可。

转载请注明:在路上 » 【已解决】go语言中初始化类似于[]Cookie之类的列表变量

发表我的评论
取消评论

表情

Hi,您需要填写昵称和邮箱!

  • 昵称 (必填)
  • 邮箱 (必填)
  • 网址
53 queries in 0.512 seconds, using 12.43MB memory