Go by Example 中文:常量

在上一节中提到了变量,常用的有两种定义的方式使用var或者短变量的形式进行定义,这节我们来说常量。

常量

常量是指程序运行时不可改变的值,常量必须初始化值,定义常量可以指定类型,Go支持字符、字符串、布尔和数值作为常量。 编译器也可以通过常量初始化值做类型推断。

⚠️注意:

在函数代码块中定义常量,不被使用也不会出现编译错误。

Go除了可以定义变量还可以定义常量,Python中并没有定义常量的保留字。
Go中是关键字const来声明常量的,这在其他语言中也是一样的,比如js,c#。

最好的理解方法,就是把上一节定义变量的关键字var改为const即可。

代码示例

package main

import "fmt"

const name = "zhangsan"

// 常量组的形式
const (
	x = 11
	y  // 在常量组中不指定常量类型和初始化值,会和上一行非空的常量值相同。
	z
)

func main() {
	const a = 1
	const b = "hehe" //和定义变量的区别,定义了可以不使用。
	//const name  //必须初始化
	const c, d = 3, 5 //也支持多个常量赋值
	const (
		x1 = 11
		y1  // 在常量组中不指定常量类型和初始化值,会和上一行非空的常量值相同。
		z1
	)
	fmt.Println(x, y, z)
	fmt.Println(a)
	fmt.Println(c, d)
}

补充

在上节变量的定义中,忘了提变量组了,其实就是类似上面代码常量组,关键词const换成var即可.例如

	var (
		a = 11
		b =12
		c=13
	)

注意点1: 每行变量声明赋值之后,后面没有逗号。
注意点2: 变量必须赋值。
注意点3:定义了必须使用,否则编译器报错。