//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 [...]int = [...]int
//只能var a [3]int = [...]int
fmt.println(a)
}//結果為[1 2 3]
var a int = int
或者var a = int
或者a := int
//另外種方式用make建立
var a int=make(int,4,6) //長度4,容量6
var a int=make(int,4) //長度4,容量4
//只定義,沒有賦值,空值是nil型別
func main()
}//切片全部取值
for i,v:=range 切片物件
//如果有陣列a := [4]int
//我們要取第二個
b :=a[1]
//取第二個和第三個
b :=a[1,3]
//取第二個到最後乙個
b :=a[1:]
//此時切片的b的長度由切區陣列的個數決定
//此時切片的b的容量由切區陣列從切的位置到陣列末尾位置
補充
陣列變成索引其實切片就相當於建立了乙個索引指向陣列
切片或者陣列裡值發生變化,其對應陣列或者切片均會受到影響
比如
package main
import "fmt"
func main()
var b = a[1:2]
fmt.println(a,b)
}//列印結果[1 2 33] [2 33]
//兩個會相互受影響
package main
import "fmt"
func main()
var b = a[1:2]
fmt.println(a,b)
}//列印結果[1 2 3] [2 33 3]
//兩個不會受影響
//其實他底層發生了這樣一件事件
//如果超過定長,底層會重新複製切片那一段資料且容量為原先的兩倍
//而此時切片b的所有指向的位置也傳送改變改變為新開闢出來的那段資料
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陣列 切片
陣列 陣列指標 fmt.println 陣列指標 i int var p 10 int i fmt.println p fmt.println p x,y 1,2 j int fmt.println j k 2 int l 2 int fmt.println k l 指向陣列的指標 m new 5 ...