【发布时间】:2014-07-07 12:03:02
【问题描述】:
我刚开始学习golang的一些基础知识,看数组定义语法对我来说有点奇怪。
C++/C#/Java 都定义了多维数组,如:
int arr[X][Y][Z]; // C/C++
int[,,] arr = new int[X, Y, Z]; // C#
int[][][] multi = new int[X][Y][Z]; // Java
继续:
var arr [Z][Y][X]int32 // go
语法有什么好处?
【问题讨论】:
-
语法就是语法。询问优点就像询问德语或英语哪种语法最好。
-
就像帕斯卡。变量名不在类型定义的中间。
-
不相关: 多维数组很糟糕(除非你正在使用数学/科学的东西,而你实际上是
want来表示 n 维数据)几乎每次我我们已经在代码中看到了一个多维数组,它被用作应该是适当对象模型的数据存储。确保为您的数据使用正确的数据结构,请不要使用多维数组来放置人们的姓氏和年龄。 -
@JoachimPileborg 我不会完全同意。与自然语言相反,编程语言是经过设计的。所以对他们来说,这个或那个背后的基本原理问题更有意义。
-
多维数组不烂;它们可以以糟糕的方式使用(就像其他任何东西一样)。它们比数组数组方便得多。例如,考虑一个(数学)矩阵。