GO學習筆記(GO資料型別)
阿新 • • 發佈:2018-11-28
go 學習第二天,今天主要學習了GO的一些資料型別的知識。
go 常用資料型別大致有以下的型別
1 int (int, int8, int16, int32, int64)
2 float (float32, float64)
3 string
4 byte
5 bool
6 array
7 slice
8 map
9 channel
10 interface
11 strcut
常用資料型別定義和使用如下
// int 資料型別
var int_ int
var int_8 int8
var int_16 int16
var int_32 int64
var int_64 int64
fmt.Println(int_)
fmt.Println(int_8)
fmt.Println(int_16)
fmt.Println(int_32)
fmt.Println(int_64)
// string
var str string
fmt.Println(str)
// byte
var b byte
fmt.Println(b)
// bool
var boolean bool
fmt.Println(boolean)
// float
var f32 float32
var f64 float64
fmt.Println(f32)
fmt.Println(f64)
// array
var arry [10] int
arry[0] = 0
arry[1] = 1
arry[2] = -1
var arry_str[10] string
arry_str[0] = "hello"
arry_str[1] = "world"
fmt.Println(arry)
fmt.Println(arry_str)
// slice 動態陣列, 初始化容量為0,可以通過append追加元素, 沒有使用make初始化,不可通過索引的方式賦值,比如s[0]=1
var s [] int
fmt.Println(len(s))
s = append(s, 1)
s = append(s, 2, 3, 4, 5, 6, 7, 8, 9, 10)
s[0]=0
fmt.Println(s)
s1 := make([]int, 5, 10)
s1[0] = 1
s1 = append(s1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11)
fmt.Println(s1)
// map 相當於python的字典
dict := make(map[string]int)
dict["oracle"] = 1521
fmt.Println(dict)
由於今天學習還沒到 9 channel 10 interface 11 strcut 因此只記錄了前面的這些。
需要注意的是,預設情況下大部分的資料型別定義了但是沒有初始化時go 會給他分配初始值
未初始化時的預設值
int 0
int8 0
int32 0
int64 0
float32 0
float64 0
bool false
string ” “