试着熟悉go。我想做这样的事情:
func validation(){
headers := metadata.New(map[string]string{"auth":"", "abc": "", "xyz" : ""})
token := headers["auth"]
data.Add("cookie", token)
}
我收到以下错误:cannot use token (type []string) as type string in argument to data.Add
。这个错误是否与我在函数内部的元数据(map)有关?
答案 0 :(得分:5)
Token是[]string
,Add的第二个参数是string
。假设您想要切片的第一个元素并且切片保证至少有一个元素,请使用:
data.Add("cookie", token[0])
如果你不知道切片中至少有一个元素,那么用if:
保护if len(token) > 0 {
data.Add("cookie", token[0])
} else {
// handle missing value
}