Golang Study Notes
Basics
[1] :=
和 =
的区别::=
is for declaration and assignment, whereas =
is for assignment only.
a := make([]int, 10)
a[0] := 666 // Doesn't work, error: non-name a[0] on left side of :=
a[0] = 666 // This works.
Slices and Arrays
[1] Array的大小在编译时必须已经确定,所以根据输入变量动态创建数组不可行。
func test(n int) {
var arr [n][n]int // Doesn't work.
// Needs to do the following to create slice.
arr := make([]int, n)
for i := range arr {
arr[i] := make([]int, n)
}
}