Go 如何使用gin包将*http Cookie类型转换为字符串

Go 如何使用gin包将*http Cookie类型转换为字符串,go,cookies,Go,Cookies,通过ajax,我设置cookies,而在go中间件中,我只是获取cookies,但它是一种*http cookies,我只想生成字符串,那么我应该使用什么来实现这一点 代码:- headerToken,_ := c.Request.Cookie("X-Test-Header") fmt.Println(headerToken) 问题我想在=之后将上述输出生成一个字符串。有人能告诉我怎么做吗 我将尝试这种类型的代码 s := strings.Split(headerToken

通过ajax,我设置cookies,而在go中间件中,我只是获取cookies,但它是一种*http cookies,我只想生成字符串,那么我应该使用什么来实现这一点

代码:-

headerToken,_ := c.Request.Cookie("X-Test-Header")
fmt.Println(headerToken)
问题我想在
=
之后将上述输出生成一个字符串。有人能告诉我怎么做吗

我将尝试这种类型的代码

s := strings.Split(headerToken, "=")
ip, port := s[0], s[1]
fmt.Println(ip, port)
上述代码将给出以下错误:-

错误
有人能帮我吗。非常感谢。如果这是一个基本问题,那么很抱歉,我真的不知道这一点。

您尚未指定所需的字符串,但假设您需要cookie值,请访问:


您尚未指定所需的字符串,但假设您需要cookie值,只需访问:


使用
headerToken.Value
?()为了澄清,返回一个
*http.Cookie
对象,而不是字符串,该对象包含有关Cookie、名称、值等的所有信息。将实现该方法的对象传递给
fmt.Println
函数将导致调用该
string
方法,而不是“转储”正如您所期望的那样。将来,您可以使用
fmt.Printf(“%#v”,cookie)
告诉
fmt
不要调用
String
。。。正如你已经知道的,你不必拆分任何东西
Cookie.Value
包含您需要的内容,
=
之后的那部分,Cookie的“值”。@mkopriva谢谢works@Flimzy是的,我知道,我认为这是因为他们对
Cookie
方法返回的内容感到困惑。我把它保留在我的评论中只是因为他们用它来命名变量。他们还将标头名称的约定与cookie名称混为一谈……使用
headerToken.Value
?()为了澄清,返回一个
*http.Cookie
对象,而不是字符串,该对象包含有关Cookie、名称、值等的所有信息。将实现该方法的对象传递给
fmt.Println
函数将导致调用该
string
方法,而不是“转储”正如您所期望的那样。将来,您可以使用
fmt.Printf(“%#v”,cookie)
告诉
fmt
不要调用
String
。。。正如你已经知道的,你不必拆分任何东西
Cookie.Value
包含您需要的内容,
=
之后的那部分,Cookie的“值”。@mkopriva谢谢works@Flimzy是的,我知道,我认为这是因为他们对
Cookie
方法返回的内容感到困惑。我把它保留在我的评论中只是因为他们用它来命名变量。他们还混淆了头名称和cookie名称的约定。。。
//but now I'm splits this and converting into the string 
headerTok := strings.Join(headerToken," ")
s := strings.Split(headerToken, "=")
ip, port := s[0], s[1]
fmt.Println(ip, port)
cannot use headerToken (type *http.Cookie) as type string in argument to strings.Split
cookie, err := req.Cookie("cookie-name")
if err != nil {
    panic(err.Error())
}
value := cookie.Value