如何在golang中在一个array里可以放int,string,double 多个类型的值?
var s []interface{} s = append(s, 1, "1", true)
可以这样存但是,你如果要用这里面的东西就要反射判断每一项具体是什么类型了
小伙子,用结构体吧,命名成员比匿名成员更有意义,更少的bug,更好的可阅读性。少学python那一套,舒服当时写代码的自己,苦了维护代码的所有人。
使用 interface{} 然后使用 reflect 包反射来判断类型. 不然等到 Golang 1.18发布吧.虽然才发不到1.16.. 本来泛型在 1.17就要支持的,现在又推迟到了1.18.
interface{}
reflect
理论上可以interface来存储。但这样会破坏静态语言带来的好处,并不建议使用。
4 回答963 阅读
4 回答873 阅读
2 回答613 阅读
1 回答815 阅读
583 阅读
561 阅读
2 回答435 阅读
2 回答1.8k 阅读
1 回答1.5k 阅读✓ 已解决
2 回答2.2k 阅读✓ 已解决
2 回答2.2k 阅读
1 回答2.3k 阅读✓ 已解决
可以这样存但是,你如果要用这里面的东西就要反射判断每一项具体是什么类型了