Go语言中指针指向数组取值报错如何解决?

2024-11-09 22:23:17 编辑:抖狐科技 来源:摘自互联网

Go语言中指针指向数组取值报错如何解决?

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语言中指针指向数组取值报错如何解决?的详细内容,更多请关注抖狐科技其它相关文章!

本站文章均为抖狐网站建设摘自权威资料,书籍,或网络原创文章,如有版权纠纷或者违规问题,请即刻联系我们删除,我们欢迎您分享,引用和转载,我们谢绝直接复制和抄袭!感谢...
我们猜你喜欢