package main //要求:随机生成5个数字,求和 并将其翻转打印 //思路 //1.随机生成五个数 rand.Intn()函数 //2、当我们得到随机数后 就放到一个数组 int数组 //3、反转打印 交换次数len/2 倒数第一个和第一个交换 。。。
import ( "math/rand" "time" "fmt" ) var arrnum [5]int var arrlen =len(arrnum) //多次调用 将其设置成全局变量 func main(){ r := rand.New(rand.NewSource(time.Now().UnixNano())) sum := 0 for i := 0 ;i<arrlen;i++ { arrnum[i] =r.Intn(1000) sum += arrnum[i] } fmt.Println(sum) fmt.Println(arrnum) temp := 0 //临时变量 for i :=0 ;i <arrlen /2;i++{ temp = arrnum[arrlen-1-i] arrnum[arrlen-1-i] = arrnum[i] arrnum[i] =temp
}
fmt.Println(arrnum)
}

数组使用的注意事项和细节
-
数组是多个相同类型数据的组合,一个数组一旦声明/定义了,其长度是固定的, 不能动态变化
-
var arr []int 这时 arr 就是一个 slice 切片,切片后面专门讲解,不急哈.
-
数组中的元素可以是任何数据类型,包括值类型和引用类型,但是不能混用。
-
数组创建后,如果没有赋值,有默认值(零值) 数值类型数组:默认值为 0 字符串数组: 默认值为 "" bool 数组: 默认值为 false
-
使用数组的步骤
- 声明数组并开辟空间 2 给数组各个元素赋值(默认零值) 3 使用数组
-
数组的下标是从 0 开始的
-
数组下标必须在指定范围内使用,否则报 panic:数组越界,比如 var arr [5]int 则有效下标为 0-4
-
Go 的数组属值类型, 在默认情况下是值传递, 因此会进行值拷贝。数组间不会相互影响
-
如想在其它函数中,去修改原来的数组,可以使用引用传递(指针方式)
-
长度是数组类型的一部分,在传递函数参数时 需要考虑数组的长度,看下面案例

















