变量、常量[const]、作用域

数据类型 Liemer_Lius 261℃

一、变量

二、常量

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]、作用域

喜欢 (0)

评论已关闭。