go语言基础知识笔记(二)之数组和切片
生活随笔
收集整理的這篇文章主要介紹了
go语言基础知识笔记(二)之数组和切片
小編覺得挺不錯的,現在分享給大家,幫大家做個參考.
數組和切片知識用的也是比較多,的給我們工作帶來很大的便利
?
(一) 數組
定義:在golang中數組的長度是不可變,數組存放要求是同一種數據類型 //golang中數組定義的四種方法1.先聲明,后賦值
var arr1 [2]int
arr1[0]=1
arr1[1]=2
2.聲明同時賦值
var arr2 = [2]int{1,2}
//或者
arr2 := [2]int{1,2}
3.不指定長度程序自動計算長度
var arr = [...]int{1,2}
//或者
arr := [...]int{1,2}
4.key和value的形式
var arr = [...]int{1:1,0:2}
//或者
arr := [...]int{1:1,0:2} //golang中數組遍歷的兩種方法
1.常規方法
for i:=0;i<len(arr);i++ {
fmt.Printf("arr[%d] = %v",i,arr[i])
}
2.高級方法(推薦使用)
for key(_),value:= range arr{
fmt.Printf("arr[%d] = %v",i,arr[i])
} //動態修改數組的值,默認情況下數組是值傳遞//形參定義成一個指針數據類型 func T2(a *[]string) {*a[0] = 99 //修改原來的值 }func main() {s1 := [...]string{11,22}T2(&s1) //傳遞一個數組的地址作為實際參數s1 = append(s1 , "33") fmt.Println(s1) } //數組指針和指針數組
1.數組指針即是一個指針并且這個指針保存了一個指向數組的地址 var arr = [...]int{5:2} //數組指針 var pf *[6]int = &arr
2.指針數組即是一個數組,數組里面保存很多指針
x,y := 1, 2
pfArr := [...]*int{&x,&y} //多維數組(二維)
1.多維數組即數組里面又是一個數組
2.定義方法
2.1先定義再賦值
var arr1 [2][2]int
arr1[0][0] = 5.....
2.2定義的同時賦值
var arr2 [2][2]int = [2][2]int{{1,2,3},{3,4,5}}
3.多維數組的遍歷
3.1
for i:=0;i<len(arr);i++{
for j:=0;i<len(arr[i]);j++{ }
}
3.2
for i;value1 :=range arr2{
for j;value2 :=range value1 {
}
}
(二) 切片
切片是數組的引用,并且是動態的數組,長度可以變化.
//切片的定義的幾種方法 1.數組的引用var intArr [4]int = [...]{12,34,44,33,11}
slice := intArr[1:3]
2.make定義
var slice []type = make([]type,len,[cap])
3.常規用法
var slice []type = []type{value1,value2,value3}
遍歷的方法和數組也是一樣的就不繼續啰嗦了
?
//切片的內置函數 1.動態添加切片append(切片,value1,value2,value3) 2.切片的copycopy(切片1,切片2) //字符的切片1.字符的切片在某種情況下是不可變的
2.想要修改字符串中的值[]byte(str)[這種是處理英文方式],[]rune(str)[這種是處理中文方式]
?
轉載于:https://www.cnblogs.com/learningPHP-students2018/p/10785685.html
總結
以上是生活随笔為你收集整理的go语言基础知识笔记(二)之数组和切片的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 【JS】使用变量作为object的key
- 下一篇: 02Data