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吧

撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进
推荐问题