golang 给map循环赋值时报 runtime error?

params := args[0].Get("params")
paramsMap := make(map[string]string)
if params.IsObject() {
    params.EnumerateKeyValue(func(key, val *sciter.Value) bool {
        paramsMap[key.String()] = val.String() // 这一行报错
        return true
    })
}
for k, v := range paramsMap {
    log.Println(k, v)
}

报错内容:

panic: runtime error: cgo argument has Go pointer to Go pointer

请问,应该怎么改呢?

阅读 2k
2 个回答

可以断定,不是 map 的问题,而是 key 或者 val 是 nil

sciter.Value 是指针吗?

撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进
推荐问题