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)

}

数组使用的注意事项和细节

  1. 数组是多个相同类型数据的组合,一个数组一旦声明/定义了,其长度是固定的, 不能动态变化

  2. var arr []int 这时 arr 就是一个 slice 切片,切片后面专门讲解,不急哈.

  3. 数组中的元素可以是任何数据类型,包括值类型和引用类型,但是不能混用。

  4. 数组创建后,如果没有赋值,有默认值(零值) 数值类型数组:默认值为 0 字符串数组: 默认值为 "" bool 数组: 默认值为 false

  5. 使用数组的步骤

    1. 声明数组并开辟空间 2 给数组各个元素赋值(默认零值) 3 使用数组
  6. 数组的下标是从 0 开始的

  7. 数组下标必须在指定范围内使用,否则报 panic:数组越界,比如 var arr [5]int 则有效下标为 0-4

  8. Go 的数组属值类型, 在默认情况下是值传递, 因此会进行值拷贝。数组间不会相互影响

  9. 如想在其它函数中,去修改原来的数组,可以使用引用传递(指针方式)

  10. 长度是数组类型的一部分,在传递函数参数时 需要考虑数组的长度,看下面案例