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)
    }
}
· 编程语言