1.聲明:var、const、type、func
2.內置類型與函數:
bool、string、array、complex64、complex128
int8、int16、int32、int64
uint8、uint16、uint32、uint64
float32/float64
slice、map、channel
3.內置函數
append(slice/array數組追加)、close(關閉管道)、delete(map中刪除)、panic/recover(停止goroutine)
img/real(複數實虛部)、make(slice/map/chanel分配內存,返回type本身)、new(int/struct分配內存值類型,返回type指針)
cap(slice/map容量)、copy(slice複製/連接)、len(string/array/slice/map/channel)
4.
init/main
import __
5.數據類型
var name string
var{
a int
b string
}
var sex=1
自動推到類型:m:=1
x,_:=foo()
常量const/計數器:iota(初始0)
數組Array:
var arr1 [2]int={1,2,3}
var arr2=[5]int{1,2}
b:=[3]int{1,2}
切片Slice
引用類型、長度可變
var s1 []int
s2:=[]int{}
s3 []int=make([]int,0,0)
append/copy/range
rune(int32的別名)
指針
&v(指針取地址)
*v(指針取值)
new(int)/new(bool)
make()
map
s:=make(map[string]int,8)
delete()
結構體
type person struct{
name string
}
var p person
p.name='liMing'
var p =new(pserson)
p3:=&pserson{}
p:=person{name:"lin"}
p:=&person{name:"liming"}
p:=&person{"Hong"}
函數與方法
func add(a int){}
func(p Person)Demo{}
匿名字段、嵌套結構體
結構體json:json.marshal()/json.unmarshal()
結構圖TAG:
type person struct{
age int `json:"id"`
}