随机数
- math/rand实现了伪随机数生成器。
- 在Go语言中随机数需要设置种子,如果不设置种子随机数的结果每次都会相同。
- 默认种子是1,而且同种子产生的随机数是相同的。
- 可以使用当前时间的纳秒差计算随机数,在一定程度上保证了种子的唯一性。
1 | package main |
数组
数组:具有固定长度相同类型的元素序列。
声明数组的语法
1
2
3
4// var 对象名 [长度]元素类型
var arr [5]int
fmt.Println(arr) //输出【0 0 0 0 0】数组就是内存中一段固定长度的连续空间
声明数组后数组就会在内存中开辟一块连续空间,每个值都称为元素,且元素值为类型对应的默认值,列入int类型默认值为0,String类型默认值为空字符串。
数组中每个元素按照顺序都有自己整数类型的脚标,脚标从第一个元素0向后依次为1
声明var arr[int] 数组 arr[0] = 0 arr[1] = 0 arr[2] = 0 数组中实际开发中主要作用是充当临时容器,因为声明一个数组变量比声明多个相同类型变量在操作时更方便。
数组的创建和赋值
- 可以在声明数组时可以同时给数组赋值,赋值时要求长度必须大于等于初始值个数。
1 | package main |
- 我们可以通过数组名[脚表]对数组中元素进行操作
1 | arr1 := [3]int{1,2,3} |
fot循环
循环:让程序多次运行相同的代码
for循环是go语言中唯一一个循环结构。
for循环经典语法
- 先执行表达式1
- 执行表达式判断是否成立,如果成立执行循环体
- 循环体执行完成之后执行表达式3
- 再次执行表达式2,判断是否成立
1
2
3
4
5for 表达式1;表达式2;表达式3{
// 循环体
fmt.Println("循环的是我!")
}for循环用的最多的地方就是遍历数组切片等。
1 | // for 的表达式 1 2 3都可以不填,因为没有了结束条件最终表达式是一个死循环。 |
大多数会使用第一种方案。