http: panic serving [::1]:57685: 分配给 nil 映射中的条目
http: panic serving [::1]:57685: assignment to entry in nil map
我正在尝试使用 golang.My 代码制作电子名片:
var (
// card is a map of strings to []*vcard.Field objects
card vcard.Card
// destination where the vcard will be encoded to
enc = vcard.NewEncoder(destFile)
)
var str []string
for i, entry := range k {
if i!=2{
str=append(str,k[i])
card.SetValue(vcard.FieldFormattedName, strings.Join(str[:i],""))//panic occurs here
fmt.Println(str)
}else if i==2{
card.SetValue(vcard.FieldTelephone, entry)
}else{
card.SetValue(vcard.FieldOrganization, entry)
}
// set the value of a field and other parameters by using card.Set
card.Set(vcard.FieldName, &vcard.Field{
Value: strings.Join(str[:2], ";"),
Params: map[string][]string{
vcard.ParamSortAs: []string{
k[0] + " " + k[1],
},
},
})
需要存放在vcf中的json文件是:
{"firstname":"Vilas","lastname":"Prakash","mobile":"8732647482","organisation":"Dbjb"}
我已将 json 编组到 []string.On 执行我收到以下错误:
http: panic serving [::1]:57685: assignment to entry in nil map
任何人都可以帮助我吗???或者是否有任何其他方法可以使用 json 文档作为输入在 golang 中创建 .vcf 或 vcard???
您还没有初始化您的地图。我建议您阅读地图在 Go 中的工作原理 https://blog.golang.org/go-maps-in-action
同时
var card vcard.Card
应该是
var card = make(vcard.Card)
我不熟悉 vcard 数据结构。但是你提到它应该是一个 map -> string][]*vcard.Field.. 如果上面的 make 失败将它更改为
var card = make(map[string][]*vcard.Field)
我正在尝试使用 golang.My 代码制作电子名片:
var (
// card is a map of strings to []*vcard.Field objects
card vcard.Card
// destination where the vcard will be encoded to
enc = vcard.NewEncoder(destFile)
)
var str []string
for i, entry := range k {
if i!=2{
str=append(str,k[i])
card.SetValue(vcard.FieldFormattedName, strings.Join(str[:i],""))//panic occurs here
fmt.Println(str)
}else if i==2{
card.SetValue(vcard.FieldTelephone, entry)
}else{
card.SetValue(vcard.FieldOrganization, entry)
}
// set the value of a field and other parameters by using card.Set
card.Set(vcard.FieldName, &vcard.Field{
Value: strings.Join(str[:2], ";"),
Params: map[string][]string{
vcard.ParamSortAs: []string{
k[0] + " " + k[1],
},
},
})
需要存放在vcf中的json文件是:
{"firstname":"Vilas","lastname":"Prakash","mobile":"8732647482","organisation":"Dbjb"}
我已将 json 编组到 []string.On 执行我收到以下错误:
http: panic serving [::1]:57685: assignment to entry in nil map
任何人都可以帮助我吗???或者是否有任何其他方法可以使用 json 文档作为输入在 golang 中创建 .vcf 或 vcard???
您还没有初始化您的地图。我建议您阅读地图在 Go 中的工作原理 https://blog.golang.org/go-maps-in-action
同时
var card vcard.Card
应该是
var card = make(vcard.Card)
我不熟悉 vcard 数据结构。但是你提到它应该是一个 map -> string][]*vcard.Field.. 如果上面的 make 失败将它更改为
var card = make(map[string][]*vcard.Field)