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

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 的指针,只有取消指针才能对数组进行索引。正确的写法是:

fmt.Println((*data)[0]["logo"])

以上就是Go语言中指针指向数组取值报错如何解决?的详细内容,更多请关注其它相关文章!