var name type //声明变量var name1, name2 type //申明多个同类型变量var name =value//声明的时候自动判断变量类型var name1, name2 = value1, value2 //多变量声明
name :=value//声明时省略var,使用:=
name1, name2 := value1, value2 //多变量声明
常量
const name type =value//常量声明const name =valueconst name1, name2 = value1, value2
枚举
const(Name1 =0, Name2 =1, Name3 =2)
iota
const(Name1 = iota, Name2, Name3)//在const里第一个iota是0,后面的每个变量依次加1const(
a = iota //0 iota=0
b //1 iota=1
c ="hi"//hi iota=2
d //hi iota=3
e =10//10 iota=4
f //10 iota=5
g = iota //6 iota=6
h //7 iota=7)
循环和跳转
for
for i :=0; i<10; i++{}for i <0{}for i,value:= range arr{}for key,value:= range map{}
goto
goto lable
label: 代码块;
函数
定义
func name(参数列表)返回值{}
函数作为参数
type funcType func(int)int
func funcName(f funcType){f()}
闭包
func add()func()(int){
i :=0returnfunc()(int){
i++return i
}}
func main(){
myfunc :=add()
fmt.Println(myfunc())//1
fmt.Println(myfunc())//2}