在golang中数组的定义和初始化参数全部需要常量,所以对我们来说日常的刷题的开发,二维数组并不友好,因此在golang中切片的使用比数组多。golang中的切片可以类比Python的list,即动态数组。接下来记录一下如何创建二维切片——
//createSlice.go
func CreateSlice(row, col int) [][]int {
flag := make([][]int, row)
for k, _ := range flag {
flag[k] = make([]int, col)
}
return flag
}
这个函数可以用来创建row行,col列的二维切片并所有元素初始化为0。在golang中只能在main包里拥有一个主函数,当然,可以通过添加一行注释使得可以创建多个main函数——
// +build ignore
//此注释放文件第一行,并和文件内容空至少一行的距离
不过,golang提供了一个测试工具——go test
//createSlice_test.go
//文件名一定为xxx_test,函数名一定为Testyyy
import "testing"
func TestCreateSlice(t *testing.T) {
t.Log(CreateSlice(3, 4))
}
使用go test运行上述文件,结果如下