相信刚接触Golang的同学都会有疑问,数组和切片不是一样的吗,为什么有些叫切片有些又叫数组。你中需要使用一句话去分辨即可:
数组是有固定长度的,切片是没有固定长度的数组,切片可以动态声明其长度及容量
声明变量如下:
// 这是一个数组
var a [3]int
// 这是一个切片
var b []int
函数中使用如下:
/**
* 返回一个数组
*/
func getPersons() [3]string {
var persons = [3]string{"张三", "李四", "王五"}
return persons
}
/**
* 返回一个切片
*/
func getVoters() []string {
var voters = make([]string, 2, 3)
voters[0] = "小李"
voters[1] = "小王"
voters = append(voters, "小张")
return voters
}
大家根据上述的代码实例去体会上面的那一句话就很容易理解了。