一、变量
二、常量
1、是不可被修改的
2、必须有值;
3、通常是全大写
func main() {
// 省略类型
const PI = 3.1415926
// 定义多个类型相同
const C1, C2 int = 1, 2
// 定义多个类型不相同
const (
C3 string = "hello"
C4 int = 3
)
// 定义多个类型不相同且省略类型
const C5, C6 = true, "lius"
// 省略, 后面的类型必须省略, 值和上面的相同
const (
C7 int = 1
C8
C9 string = "Hello"
C10
)
// iota ## 用于枚举类型 ##
const (
C11 int = iota
C12
)
fmt.Println(PI, C1, C2, C3, C4, C5, C6, C7, C8, C9, C10, C11, C12)
}
# go run main.go
3.1415926 1 2 hello 3 true lius 1 1 Hello Hello 0 1
三、作用域
作用域定义了标识符可以使用的范围,在Go中用{}来定义作用域。其中,子块中可以用父块中的标识符,反之不可。
func main() {
outer := "outer"
{
inner := "inner"
fmt.Printf("In: outer: %s, inner: %s\n", outer, inner) // 可以取到outer
}
fmt.Printf("Out: outer: %s, inner: %s\n", outer, inner) // 不能取到inner, 报错:go:11:51: undefined: inner
}
转载请注明:liutianfeng.com » 变量、常量[const]、作用域