go
数组的下标是从0开始的
7 go的数组是值类型
10 长度是数组类型的一部分,在传递函数时,需要考虑数组的长度,
代码
for _,val := range intArr2{
}
数组的反转
随机数 rand.Intn()
//为了每次生成的随机数不一样,我们需要给一个seed值
rand.Seed(time.Now().UnixNano())
for i := 0; i < len(intArr3); i++{
intArr3[1] = rand.Intn(100)
}
数组反转
temp := 0
for i := 0; i< len /2; i++{
temp = intArr3[len - 1 - i]
intArr3[len - 1 - i] = intArr3[i]
intArr3[i] = temp
}
slice 切片
为什么需要切片
需要一个数组来保存学生的成绩,但是学生的个数是不确定的, 请问怎么办
解决方案 使用切片
切片的基本概念
1. 切片的英文是slice
2 切片是数组的一个引用,因此切片是引用类型,在进行传递时,遵守引用传递的机制。
3.切片的使用和数组类似,遍历切片,访问切片的元素和求切片长度都一样
4.切片的长度是可以变化的,因此切片是一个可以动态变化的数组。
5. 切片定义的基本语法:
var 变量名[] 类型
比如:var a [] int
数组
var intArr [5]int = [...]int{1,2,3,4,5}
slice := intArr[1:3]
切片的使用
方式1
第一种方式:定义一个切片,然后让切片去引用一个已经创建好的数组,比如前面的案例就是这样的。
方式2
第二种方式:通过make 来创建切片
基本语法 var 切片名[]type = make([],len,[cap])
参数说明:type :就是数据类型len:大小 cap:指定切片容量,。可选 案例演示
演示切片的使用 make
var slice []float64 = make([]float64,5,10)