为了账号安全,请及时绑定邮箱和手机立即绑定

如何在golang中创建对象数组?

如何在golang中创建对象数组?

Go
ITMISS 2021-11-15 15:41:36
我有一个要求,需要将对象数组存储在变量中。对象有不同的类型。请参考以下示例: v := [ {"name":"ravi"},        ["art","coding","music","travel"],        {"language":"golang"},        {"experience":"no"}      ]注意第二个元素是字符串本身的数组。经过研究,我想到将其存储为接口类型,例如: var v interface{} = [ {"name":"ravi"},                       ["art","coding","music","travel"],                       {"language":"golang"},                       {"experience":"no"}                     ]尽管如此,我还是收到了一些我无法发现的编译错误。
查看完整描述

2 回答

?
杨__羊羊

TA贡献1943条经验 获得超7个赞

您要求的是可能的 -游乐场链接:


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。考虑利用类型系统——playground 链接:


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)

}


查看完整回答
反对 回复 2021-11-15
?
元芳怎么了

TA贡献1798条经验 获得超7个赞

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


查看完整回答
反对 回复 2021-11-15
  • 2 回答
  • 0 关注
  • 475 浏览
慕课专栏
更多

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信