首页 > 其他 > 详细

GO基础

时间:2020-12-08 18:19:29      阅读:32      评论:0      收藏:0      [点我收藏+]

数组:

定义: 

  方式一: 

arr1 := [...]int{1,2,3} 

 

  方式二: arr2 := [3]int{1,2,3} 

  方式三: var arr3  [3]int 

遍历:

//遍历数组
	for k, v :=range arr3{
		fmt.Println("key:%v,value:$v",k,v)
	}

 

值类型和引用类型:

1.基本数据类型 和 数组 都为值类型 

2.改变副本值会影响原来值的为引用数据类型 指向的为同一个内存地址 。包含(切片)

 

定义二维数组:

    //定义二维数组
	arr := [3][2]string{
		{"北京","上海"},
		{"武汉","长沙"},
		{"南昌","成都"},
	}
	//遍历
	for _,v1 :=range arr{
		for _,v2 := range v1 {
			println(v2)
		}
	}
	        

  

切片
切片的本质就是对底层数组的封装 ,类似可变长度数组 声明未复制 默认值为 nil
len(s)获取长度, cap(s)获取容量
长度:所含元素个数
容量:从第一个元素开始数,到底层数组末尾的个数
append()为切片动态添加元素,长度和容量同时会增加
合并切片
        sliceA := []string{"张三丰","张学友","张国荣"}
	sliceB := []string{"刘德华","谢霆锋","阿三"}
	sliceA = append(sliceA,sliceB...)
	fmt.Println(sliceA)

 copy()复制切片 防止改变副本而改变本身

        sliceA := []string{"张三丰","张学友","张国荣"}
	sliceB := make([]string,4,4)
	//sliceC := []string{"刘德华","谢霆锋","阿三"}
	//sliceA = append(sliceA,sliceB...,sliceC...)
	copy(sliceB,sliceA) //把sliceA拷贝给sliceB中
	fmt.Println(sliceB) 

 删除切片元素

  用append方法删除

字符串 切片的互换

       //字符串转切片
	s1 := "你好 golang"
	runeStr := []rune(s1)
	runeStr[0] = ‘您‘
	fmt.Println(string(runeStr))

  




 

GO基础

原文:https://www.cnblogs.com/finnlee/p/14103354.html

(0)
(0)
   
举报
评论 一句话评论(0
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!