变量定义
1. Go语言与javascript语言有许多相似之处,它使用var关键字申明变量比如:
- var a,b,c.bool,String
- var s1,s2 string ="hello","world"
- s1,s2 :="hello","world"
2. 它可以放在函数内申明,或者直接放在包内申明,:可以理解为是var的一种语法糖,但是它只能用在函数内使用,不能放在包内使用,并且在包内申明的变量并不是一种全局变量。
3. 变量在函数内可以使用var()集中定义变量
4. 编译器自动决定类型,比如var s1,s2 ="hello","world",编译器会自动识别是s1,s2为字符串
常量的定义
- const filename = "abc.txt"
- const 数值可作为各种类型使用
- const a,b = 3,4
- var c int = int(math.Sqrt(aa + bb))
使用常量定义枚举类型
func enums(){
const(
cpp = 0
java = 1
python = 2
golang = 3
)
fmt.Println(cpp,java,python,golang)
}
复制代码
使用iota 可以实现枚举值递增
func enums(){
const(
cpp = iota
java
python
golang
)
fmt.Println(cpp,java,python,golang)
}
复制代码
iota可以参与运算
func enums(){
const(
b = 1 << (10 * iota)
kb
mb
gb
tb
pb
)
fmt.Println(cpp,java,python,golang)
}
复制代码
变量定义要点:
- 变量类型写在变量名之后
- 编译器可推测变量类型
- 没有char,只有rune
- 原生支持复数类型