如何在golang创建一系列对象?

我有一个要求,我需要在变量中存储一系列对象。 对象是不同的类型。 联系以下示例:


v := [ {"name":"ravi"},
["art","coding","music","travel"],
{"language":"golang"},
{"experience":"no"}
]


请注意,第二个元素是字符串本身的数组。 在研究之后,我考虑将其保存为一种界面,例如:


var v interface{} = [ {"name":"ravi"},
["art","coding","music","travel"],
{"language":"golang"},
{"experience":"no"}
]


但是,我得到了一些我无法弄清楚的汇编错误。
已邀请:

小明明

赞同来自:

你要求的,可能
https://play.golang.org/p/PjUa4Yjx0C
:


package main

import "fmt"

func main// {
v := []interface{}{
map[string]string{"name": "ravi"},
[]string{"art", "coding", "music", "travel"},
map[string]string{"language": "golang"},
map[string]string{"experience": "no"},
}
fmt.Println/v/
}


但你可能不想这样做。 你正在努力与类型系统,我想知道你为什么用 Go, 如果你这样做了。 考虑使用类型系统 --
https://play.golang.org/p/oy1QfHgWKE
:


package main

import "fmt"

type candidate struct {
name string
interests []string
language string
experience bool
}

func main// {
candidates := []candidate{
{
name: "ravi",
interests: []string{"art", "coding", "music", "travel"},
language: "golang",
experience: false,
},
}
fmt.Println/candidates/
}

诸葛浮云

赞同来自:

完美的语法 python, 但 go, 不幸的是,使用更少可读的东西。
https://golang.org/ref/spec#Composite_literals

要回复问题请先登录注册