rand.Intn(n) 来生成随机数了
rand.Seed(time.Now().UnixNano())
//然后生成随机数,返回0到n之间的随机整数
rand.Intn(n)
2 数组切片
切片是由数组建立的一种方便,灵活切功能强大的包装,注意的是切片本省不拥有任何数据,它们只是现有数组的引用。
1 创建带有T类型的切片表示方法[]T,我们可以通过make([]T, len, cap)来创建一个切片,其中len表示切片长度(即切片中的元素数),cap表示切片容量(即从创建切片索引开始的底层数组中元素数)
2 使用语法:a[start:end] 创建一个从a数据索引start开始到end-1结束的切片
3 切片的修改,由于切片本身不具有任何数据,对切片所做的任何修改都会反映在底层数组中。
4 如果遇到了 a[:]这种缺少开始和结束值的,那么开始和结束值默认为0和len(a)
详解:以一个例子解释切片长度和容量
func main() {
fruitarray := [...]string{"apple", "orange", "grape", "mango", "water melon", "pine apple", "chikoo"}
fruitslice := fruitarray[1:3]
fmt.Printf("length of slice %d capacity %d", len(fruitslice), cap(fruitslice)) //
}
length of is 2 and capacity is 6 ,fruitslice是fruitarray的切片引用,表示从1到2的元素,但是,fruitslice的底层数组fruitarray元素时6个没有变化