go 基础数组和切片

数组

	//1、var定义
	var arr1 [10]int
	arr1[0] = 1
	//自动推导
	arr2 := [10]int{}
	arr2[0] = 2

	fmt.Println(arr1,arr2)
	for k,v := range arr1{
		fmt.Println(k,v)
	}
	

切片 不定长数组,长度和容量

//不定长数组也叫切片 定义
name := []string{}
//追加数据,可以用append,不定长数组
name = append(name,"world")
fmt.Println(len(name),cap(name))

//切片和数组的关系
age := []int{1,2,3,4,5,6}
age2 := age[0:3]
fmt.Println(age2)
//修改age2的值会改变age的值
age2[0] = 100
fmt.Println("age2[0]修改后的age2:", age2)
fmt.Println("age2[0]修改后的age:", age)
//创建空切片并明确指定容量,这样可以提高预先效率
//创建一个容量为20,当前长度为0的int类型切片
age3 := make([]int,0,20)
age3 = append(age3,2)
age3[0] = 100
fmt.Println(len(age3),cap(age3))
//如果想让切片完全独立于原始数组,可以使用copy()函数
age4 := make([]int,10,20)
copy(age4,age3[:])
fmt.Println(age3,age4)
posted on 2022-05-17 10:57  每天进步一点点点点点  阅读(20)  评论(0编辑  收藏  举报