类型在变量名的后面 ,生命和赋值可以连在一起
var a int 或 var s string
a := 15 b:= false
多变量声明,也支持一行声明以及平行赋值
var (
x int
b bool
)
特殊变量 _(下划线): 任何赋给他的值都会被丢弃
变量声明却没有使用 会报错
混合使用不同类型的变量赋值 会报错
常量只能是 数字 字符串(不可变) 布尔型
itoa 可以生成枚举类型,默认第一个itoa 表示0
const(
a = itoa
b
)
a=0,b=1
字符串在go中是 双引号 单引号不可以
var e error 定义了一个error 类型的变量e,其的值是nil
go语言中没有do或者while循环 只有for,switch if select
if语句控制中,大括号是强制的,并且需要与if在同一行
支持goto,标签大小写敏感
for int i;condition;port {} 和C的for一样
for condition {} 和while一样
for {} 死循环
break提前退出循环,终止当前循环,循环嵌套需要指定标签来决定结束哪一个循环
continue让循环进入下一个迭代
switch 表达式不必是常量或者整数,执行过程从上到下。
与C不同的是 不会匹配失败后自动向下尝试,但可以使用后fallthrough关键字使其这样做
表达式可以使用,逗号进行多项匹配
array 声明的时候必须在方括号中输入一些内容
[n]type 例如 var arr[10] int a := [3]int{1,2,3} a := [...]int{1,2,3}
slice 与array接近,新元素加入的时候可以增加长度,使用make函数创建引用。支持append、copy操作
map map[<from type>]<to type>
map只声明不初始化的时候使用 make函数