go语言指向数组的指针取值报错如何解决?
在 go 语言中,当指针指向数组时,取值可能会报错。例如以下代码:
data, _ := db.table("m3u8s").where("name", "cctv1").select() fmt.println(*data[0]["logo"]) // fmt.println(*data[0]["logo"])
其中,data 是指向 []map[string]string 类型的指针。按照提供的代码,使用中间变量 daa 保存 data 的值后再进行数组索引是可以正常运行的。
但如果直接取 *data[0]["logo"],会报错:
.\main.go:18:19: invalid operation: cannot index data (variable of type *[]map[string]string)
这是因为 *data 本身是类型为 *[]map[string]string 的指针,只有取消指针才能对数组进行索引。正确的写法是:
立即学习“go语言免费学习笔记(深入)”;
fmt.Println((*data)[0]["logo"])
以上就是Go语言中指针指向数组取值报错如何解决?的详细内容,更多请关注php中文网其它相关文章!
每个人都需要一台速度更快、更稳定的 PC。随着时间的推移,垃圾文件、旧注册表数据和不必要的后台进程会占用资源并降低性能。幸运的是,许多工具可以让 Windows 保持平稳运行。
Copyright 2014-2025 https://www.php.cn/ All Rights Reserved | php.cn | 湘ICP备2023035733号