内建变量类型
-
bool,string
布尔值,字符串 -
(u)int,(u)int8,(u)int16,(u)int32,(u)int64,uintptr
整型,加u表示无符号整数,不加u表示有符号整数,无符号整数又分为两种:
规定长度的:(u)int, (u)int8, (u)int16, (u)int32, (u)int64
不加规定长度的:根据操作系统,32位就是(u)int32,以此类推 -
byte,rune
rune是Go语言的字符型(Java的Char),rune长度为32位 -
float32,float64,complex64,complex128
浮点类型,复数类型
常量
func consts() {
//定义常量
const filename = "s"
const a, b = 2, 3
//常量类似于文本替换,如上a,b,在不确定类型的时候,它的类型可以为int,也可以为float
var c int
c = int(math.Sqrt(float64(a*a + b*b)))
fmt.Println(filename, c)
}
枚举
func enum() {
//定义枚举
const (
cpp = iota //iota 表示这组const是自增值
java
python
golang
)
fmt.Println(cpp, java, python, golang)
}
总结
- 变量类型写在变量名之后
- 编译器可推测变量类型
- 没有char,只有rune
- 原生支持复数类型
- 没有全局变量(变量局限于包内)
网友评论