获取二维 map 中指定字段值
在 go 语言中,如何获取一个二维 map 中的某个特定字段的值?
代码示例如下:
jmap := make(map[string]interface{}) err := json.unmarshal(util.getbytemsgfromnetconn(conn), &jmap) if err != nil { log.println("解析 json 字符串发生错误:", err.error()) conn.close() } var usernametmp string if user, exist := jmap["user"]; exist { if reflect.valueof(user).kind() == reflect.map { // 问题出在这里,由于 user 已经断言为 map[string]interface{} 类型,因此不能直接访问其 map[string]string 类型的字段 usernametmp = user.(map[string]interface{})["username"] } }
如何正确获取 username 字段的值?
答案:
需要对 user 变量进行第二次断言,以将其转换为 map[string]string 类型:
usernameTmp = user.(map[string]interface{})["username"].(string)
以上就是Go 语言:如何从二维 Map 中获取指定字段的值?的详细内容,更多请关注php中文网其它相关文章!
每个人都需要一台速度更快、更稳定的 PC。随着时间的推移,垃圾文件、旧注册表数据和不必要的后台进程会占用资源并降低性能。幸运的是,许多工具可以让 Windows 保持平稳运行。
Copyright 2014-2025 https://www.php.cn/ All Rights Reserved | php.cn | 湘ICP备2023035733号