arrays - 在 Go 中打印数组值

标签 arrays go

我试图在 Go 中的结构中定义一个数组,设备数组应该有 3 个字符串类型的项目,但我找不到如何打印设备数组的值

下面输出“不匹配的类型字符串和 [2] 字符串”。有什么提示吗?

type Nodes struct {
Nodes []Node `json:"nodes"`
}

type Node struct {
devices       [2]string `json:"devices"`
}

var nodes Nodes
fmt.Println("Device: %+v" + nodes.Nodes[i].devices)

最佳答案

你的错误是因为你试图连接一个 string 和一个 [2]string:

"Device: %+v" + nodes.Nodes[i].devices

具体来说,"Device: %+v" 是一个字符串,nodes.Nodes[i].devices 是一个[2]string.

但在更高层次上,这是不正确使用 fmt.Println 的结果,通过使用格式化动词 %+v 变得明显,这是没有意义的在 Println 的上下文中。您可能想要的是 fmt.Printf:

fmt.Printf("Device: %+v\n", nodes.Nodes[0].devices)

关于arrays - 在 Go 中打印数组值,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/53791783/

相关文章:

php - 如何将此数组拆分为三个并使用 php 将其放在 <td> 中?

mysql - 将变量传递给 GoLang 查询

git - 去获取没有互联网访问权限的服务器

javascript - 如何按照一定的规则设置数组的元素

c - (第一个和最后一个)、(第二个和最后一个但 1) 等数组数字的乘积相加

c++ - 大型动态多维数组不工作

c - 具有不同数据类型的文本文件放入结构体数组中

go - Helm go sdk 从外部位置安装图表

Go 函数类型作为接口(interface)值

function - 为什么追加函数调用时函数执行顺序似乎颠倒了?