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 ” “