声明一个结构数组:
var s[2]struct{name string, age int}
然后要怎样初始化和赋值呢?
有疑问加站长微信联系(非本文作者)
入群交流(和以上内容无关):加入Go大咖交流群,或添加微信:liuxiaoyan-s 备注:入群;或加QQ群:692541889
这不叫结构数组。 GO里只有 数组 多维数组 和 结构体
你这个声明是不对的
type s struct { name string age int }
这个才是正确的 在GO里叫结构体 在JAVA里叫Bean 或者叫类
你是想声明二维数组吧??
你这种想法应该以二维数组的方式来实现。 详情参考 二维数组的初始化方法。
不建议使用二维数组, 一个已经老掉牙的东西。。 抛弃二维吧。 在JAVA里使用二维数组被看做是愚蠢的选择。
在GO里有更好的方案替代二维数组。
比如:
var s = [2]struct { name string age int }{{"polaris", 25}, {"studygolang", 1}}
谢谢楼上各位的解答。
谢谢polaris大大。按您说的可以初始化,但是要怎样修改或增加数组的值呢。请不吝指教。
可以了。
func main() { s := [2]struct { name string age int }{{"abc", 23}, {"def", 25}} fmt.Println(s[0]) s[1].name, s[1].age = "mike", 45 fmt.Println(s[1]) }
也可以这样: ```type s struct { name string age int }
ss := []s{} s1 := s{"tom", 18} ss = append(ss, s1)```
`单行代码`
这不叫结构数组。 GO里只有 数组 多维数组 和 结构体
你这个声明是不对的
type s struct { name string age int }
这个才是正确的 在GO里叫结构体 在JAVA里叫Bean 或者叫类
你是想声明二维数组吧??
你这种想法应该以二维数组的方式来实现。 详情参考 二维数组的初始化方法。
不建议使用二维数组, 一个已经老掉牙的东西。。 抛弃二维吧。 在JAVA里使用二维数组被看做是愚蠢的选择。
在GO里有更好的方案替代二维数组。
比如:
谢谢楼上各位的解答。
谢谢polaris大大。按您说的可以初始化,但是要怎样修改或增加数组的值呢。请不吝指教。
可以了。
也可以这样: ```type s struct { name string age int }
ss := []s{} s1 := s{"tom", 18} ss = append(ss, s1)```