golang 数据格式不统一只能用interface{}或struct吗?

比如php的数组

$data['title'] = 'string';
$data['column'] = 'string';
$data['user'] = ['name' => 'xxx', 'id' => 'xxx'];

golang
除了map[string]interface{}
还有其他方法解决吗?

阅读 3.6k
3 个回答

无其他解决方法,既然选择了Go就要按照Go的规则来,因为它不是PHP

PS: 明确数据中的类型并没有什么不好

map的话 还真没有其他办法了,除了用map[string]interface{}, 不过也没什么不方便吧,你明确知道了他的数据类型,比如

m := map[string]interface{}{
    "aa":"aaaa",
}

那取值的时候,就 a := m["aa"].(string) 这样就可以了

还有第二种办法 就是定义struct

type m struct {
    Col1 string `json:"col1"`
    Col2 int64  `json:"col2"` 
}

这样也是可以的
自己选择吧

还是用php吧

推荐问题