Go数组反转练习
作者:互联网
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) 使用数组的步骤
- 声明数组并开辟空间
2 给数组各个元素赋值(默认零值)
3 使用数组
6) 数组的下标是从 0 开始的
7) 数组下标必须在指定范围内使用,否则报 panic:数组越界,比如 var arr [5]int 则有效下标为 0-4
8) Go 的数组属值类型, 在默认情况下是值传递, 因此会进行值拷贝。数组间不会相互影响
9) 如想在其它函数中,去修改原来的数组,可以使用引用传递(指针方式)
10) 长度是数组类型的一部分,在传递函数参数时 需要考虑数组的长度,看下面案例
标签:rand,fmt,练习,Println,数组,Go,默认值,arrnum 来源: https://blog.51cto.com/dreamlinux/2360464