加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 大数据 > 正文

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

发布时间:2020-12-16 19:04:00 所属栏目:大数据 来源:网络整理
导读:我有一个要求,我需要在变量中存储对象数组.对象是不同类型的.请参阅以下示例: v := [ {"name":"ravi"},["art","coding","music","travel"],{"language":"golang"},{"experience":"no"} ] 注意第二个元素是字符串本身的数组.经过研究,我想把它存储为接口类型
我有一个要求,我需要在变量中存储对象数组.对象是不同类型的.请参阅以下示例:
v := [ {"name":"ravi"},["art","coding","music","travel"],{"language":"golang"},{"experience":"no"}
      ]

注意第二个元素是字符串本身的数组.经过研究,我想把它存储为接口类型,如:

var v interface{} = [ {"name":"ravi"},{"experience":"no"}
                     ]

不过,我收到的编译错误很少,我无法找到.

您要求的是可能的 – playground link:
package main

import "fmt"

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

但你可能不想这样做.你正在打击类型系统,我会问你为什么要使用Go,如果你这样做的话.考虑利用类型系统 – playground link:

package main

import "fmt"

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

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

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读