這是一個建立於 的文章,其中的資訊可能已經有所發展或是發生改變。
Go語言變數類型的代碼示範
basic_demo.go檔案
package mainimport ( "fmt")const ( I = 100 PI = 3.1415 PREFIX = "Go_")var ( i int pi float32 prefix string)func main() { // 分組聲明變數和常量 fmt.Println(i) fmt.Println(PREFIX) // 一維數組 a := [3]int{1, 2, 3} b := [10]int{1, 2, 3} c := [...]int{1, 2, 3} fmt.Println(a, b, c) // 二維數組 doubleArray := [2][4]int{[4]int{1, 2, 3, 4}, [4]int{5, 6, 7, 8}} fmt.Println(doubleArray) easArray := [2][4]int{{1, 2, 3, 4}, {5, 6, 7, 8}} fmt.Println(easArray) // 動態數組 slice並不是一個真正的動態數組,而是一個參考型別。 // 和聲明array一樣,只是少了長度 // slice := []byte{'a','b','c'} // slice可以從一個數組或一個已經存在的slice中再次聲明 var ar = [10]byte{'a', 'b', 'c', 'd', 'e', 'd'} var slice1, slice2 []byte slice1 = ar[2:5] slice2 = ar[6:] slice3 := ar[:] slice4 := slice3[:4] fmt.Printf("%v,%v,%v", slice1, slice2, slice3) fmt.Println(slice4) // 字典map 格式為map[keyType]valueType // 1.直接聲明 // var numbers map[string] int // 2.簡短的map聲明方式 // numbers := make(map[string]int) // numbers["one"] = 1 // numbers["two"] = 2 numbers := map[string]int{"one": 1, "two": 2} fmt.Println(numbers) // 尋找有沒有對應的key值 if _, ok := numbers["one"]; ok { fmt.Println("有key值為one的索引值對!") } // 刪除指定key的value delete(numbers, "two") fmt.Println(numbers) // 變數未填充前的預設值,“零值” // int,int8,int32,int64,rune(rune的實際類型是int32),float32,float64 --> 0 // uint byte(byte的實際類型是uint8) --> 0x0 // bool --> false // string --> ""}