go陣列與切片, byte轉string

2021-08-28 18:57:28 字數 1375 閱讀 3348

陣列:同一種資料型別的固定長度序列

陣列的定義:var a [len]int ,比如 var a[5]int

長度是陣列型別的一部分,因此,var a [5]int 和 var a [10]int 是不同的型別

func array() 

var age1 = [5]int

var age2 = [...]int

var str = [5]string //指定陣列的第三個和第四個元素

fmt.println(age0)

fmt.println(age1)

fmt.println(age2)

fmt.println(str)

}func demiarray() ,,}

for _,v:= range a

fmt.printf("\n") }}

func main()

切片:切片是陣列的乙個引用,因此切片是引用型別的

切片的長度是可變的,因此切片是乙個可變的陣列

切片的遍歷方式和陣列一樣,可以用len()求長度

cap可以求出slice的最大容量,0 <= len(slice) <= cap(array),其中array是slice引用的陣列

切片的定義:var 變數名 型別,比如 var str string var arr int

func silce() 

b := a[1:5]

fmt.println(b)

//定義切片,並用make函式初始

var s = int

s = make(int,5)

s[0] = 1

fmt.println(s)

//乙個切片加另乙個切片

var c = int

var d = int

fmt.println(c)

//切片的拷貝,內建函式copy

s1 :=int

s2 := make(int,10)

copy(s2,s1)

fmt.printf("s2:%d\n",s2)

}

byte 互轉string

s1 := 「hello,word」

s2 :=byte(s1) //string轉byte

s1 = string(s2) //byte轉string

func modifystring ()
用slice非遞迴實現斐波那契數列

func fibo(n int) 

for _,v := range a

}

go陣列與切片

go陣列 陣列宣告 var variable name size variable type eg var balance 10 float32 陣列初始化 var balance 5 float32 初始化陣列中 中的元素個數不能大於 中的數字。如果忽略 中的數字不設定陣列大小,go 語言會根據元...

go陣列與切片

陣列是具有相同唯一型別的一組長度固定的資料項序列,這種型別可以是任意的原始型別,例如整形,字元型或者自定義型別。陣列長度必須是乙個常量的表示式,並且是乙個非負整數。陣列元素可以用個索引累讀取,陣列長度最大為2gb。宣告格式為 var identifier len type 複製 例如 var arr...

GO 陣列與切片

var 變數名 陣列的容量 型別 陣列的容量 型別 var a 4 int 4 int 或者var a 4 int 或者a 4 int 這幾個的結果為 1 2 3 0 接受長度有賦值的長度決定 package main import fmt func main a int 但是無法使用var a i...