go语言sdk下载:https://golang.google.cn/dl/
1,go变量/常量
保留的关键字: var , const
变量 | 常量 |
---|---|
var a int =9 var a =9 a:=9 //自动推断类型 |
const a int = 9 |
2,go数据类型
a, 基本数据类型
整数 | 浮点数 | 布尔类型 | 字符串 | |
---|---|---|---|---|
有符号 | int, int8, int16, int32 | float32,float64 | ||
无符号 | unit, unit8[byte], unit16, unit32 | |||
固定值 | true,false | “xx” |
补充:int和unit 表示范围:等于cpu位数(32、64) * byte
b, 引用数据类型
数组 | 切片 | map | 通道 |
---|---|---|---|
var arr [3]int | var slices []int slices := make([]int,3) |
var map1 map[string]string | c:=make(chan int) c:=make(chan int,2) |
var arr= [3] int{1,2,3} var arr= […] int{1,2,3} |
var slices= [] int{1,2,3} slices := arr[:] |
map1:=make(map[string]string) map1:=make(map[string]string,3) |
发送数据: c <- 1 接收数据: res := <- c |
补充:
数组是定长的,而切片是长度可变的,由数组获取切片: var slices=arr[0:2]
切片的函数:slices = append(slices, 1,2,3), slices2 = copy(slices)
3,流程控制: if-else, switch-case
vim if-else.go
root@wabg-GA-MA770T-UD3P:/home/wabg/txt# go run if-else.go
1==1
1==1
vim switch-case.go
root@wabg-GA-MA770T-UD3P:/home/wabg/txt# go run switch-case.go
young man
young man
4,go循环语句
只有for循环,没有while循环
vim for.go
root@wabg-GA-MA770T-UD3P:/home/wabg/txt# go run for.go
1
2
3
1
2
3
1 1
2 2
3 3
....
....
....