1 回答

TA贡献1898条经验 获得超8个赞
始终,如果您访问接口映射或默认 nil 类型并使用该映射执行操作,请确保该键的值在使用之前存在于映射中。如果映射中不存在该值,它将返回 nil 和具有 nil 引用的 panic。
r, ok := body.Params["returnValues"]
if !ok {
// returnValues not present in Params map. Handle the scenario
// and don't continue below
}
var returnValues = r.(bool)
delete(body.Params, "returnValues")
此外,如果您不确定要访问的变量类型,请使用类型断言并查看您的类型是否正常。然后,如果它是空的,那么它也为类型断言返回 false。
returnValues, ok := body.Params["returnValues"].(bool)
if !ok {
// returnValues may not present in Params map. or it is not an
// boolean type, handle scenario here
}
delete(body.Params, "returnValues")
- 1 回答
- 0 关注
- 87 浏览
添加回答
举报