Go error:不能在参数

时间:2017-02-09 22:58:37

标签: go grpc

试着熟悉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)有关?

1 个答案:

答案 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
}