• 设为首页
  • 点击收藏
  • 手机版
    手机扫一扫访问
    迪恩网络手机版
  • 关注官方公众号
    微信扫一扫关注
    公众号

Go数组和切片定义和初始化

原作者: [db:作者] 来自: [db:来源] 收藏 邀请

1 前言

切片是动态数组,数组数组是按值赋值,切片是按地址赋值(引用)

2 代码

2.1 数组初始化

func basic_array(){
	//var arr2 = [3]int{2,4,6} // 1

	//arr2 := [3]int{2,4,6} //2
		
	//var arr2[3]int = [3]int{2,4,6} //3

	//var arr2 [3]int  //4
	//arr2=[3]int{1,3,5}

	// var arr2 [3]int //5
	// var i int
	// for i=0;i<len(arr2);i++{
	// 	arr2[i] = 10+i;
	// }

        // var arr2 [3]int //6
        // var arr2 [...]int{1,3,7} //7[...]表示根据元素自适应大小



    for i,e := range arr2{
		fmt.Println("arr2[",i,"]->",e);
	}
}

2.2 切片初始化

func basic_slice(){

	//var arr2 = []int{2,4,6} // 1

	//arr2 := []int{2,4,6} //2
		
	//var arr2[]int = [3]int{2,4,6} //3

	//var arr2 []int  //4
	//arr2=[]int{1,3,5}

       //var slice1 []type = make([]type, len) //5
    //slice1 := make([]type, len) //6
    //also add parameter capacity
    //make([]T, length, capacity) //7,8

	for i,e := range arr2{
		fmt.Println("arr2[",i,"]->",e);
	}

}

3 数组与切片区别

var arr2[3]int = [3]int{2,4,6}
	var arr1 = arr2
	arr1[1]=11

	for i,e := range arr1{
		fmt.Println("arr1[",i,"]->",e);
	}

	for i,e := range arr2{
		fmt.Println("arr2[",i,"]->",e);
	}

//result
// arr1[ 0 ]-> 2
// arr1[ 1 ]-> 11
// arr1[ 2 ]-> 6
// arr2[ 0 ]-> 2
// arr2[ 1 ]-> 4
// arr2[ 2 ]-> 6



//slice
var arr2[]int = []int{2,4,6}
	var arr1 = arr2
	arr1[1]=11

	for i,e := range arr1{
		fmt.Println("arr1[",i,"]->",e);
	}

	for i,e := range arr2{
		fmt.Println("arr2[",i,"]->",e);
	}

//result
// arr1[ 0 ]-> 2
// arr1[ 1 ]-> 11
// arr1[ 2 ]-> 6
// arr2[ 0 ]-> 2
// arr2[ 1 ]-> 11
// arr2[ 2 ]-> 6

  

  

  


鲜花

握手

雷人

路过

鸡蛋
该文章已有0人参与评论

请发表评论

全部评论

专题导读
上一篇:
go-vscode-ubuntu20.04安装部署发布时间:2022-07-12
下一篇:
go1.13编译遇到xxx/go.modmalformedrecorddata问题发布时间:2022-07-12
热门推荐
热门话题
阅读排行榜

扫描微信二维码

查看手机版网站

随时了解更新最新资讯

139-2527-9053

在线客服(服务时间 9:00~18:00)

在线QQ客服
地址:深圳市南山区西丽大学城创智工业园
电邮:jeky_zhao#qq.com
移动电话:139-2527-9053

Powered by 互联科技 X3.4© 2001-2213 极客世界.|Sitemap