变量声明可带有变量初始化值。 如果初始化存在,则可以忽略类型,变量会自动接受初始化者的类型
var i, j int = 1, 2
var c, python, java = true, false, "no"
在函数内,:=
短赋值声明可以替代var
声明,并带有隐式类型
在函数外,所有的声明,都以关键词开头, var
或者 func
,所以:=
结构是不可以
go 的基本类型包括:
bool
string
int int8 int16 int32 int64
uint uint8 uint16 uint32 uint64
byte // uint8的别名
rune // int32的别名,代表一个unicode字符
float32 float64
complex64 complex128
int的位数跟随系统 int32的别名,代表一个unicode字符
float32 float64 complex64 complex128
没有显式赋值的变量会被赋予0值: 整数类型为0,布尔为false
,字符串为空字符串。
使用 T(v)
,可以将v
转换为T
类型, 但是与C
语言不同,必须显式指明转换类型。
当没有显式指定变量类型时,变量的类型由右值进行推断
常量由const
关键词定义,不能用:=
定义。