常量

常量是一个简单值的标识符, 在程序运行时, 不会被修改的量

常量中的数据类型只可以是布尔型, 数字型(整数型, 浮点型和复数)和字符串型.

const identifier [type] = value

可以省略类型说明符[type], 因为编译器可以根据变量的值来推断其类型

  • 显示类型定义: const b = string = "abc"
  • 隐式类型定义: const b = "abc"

多个相同类型的声明可以简写为

const c_name1, c_name2 = value1, value2

以下实例演示了常量的应用:

常量的定义: const

1.iota

iota, 特殊常量, 可以认为是一个可以被编译器修改的常量, iota是go语言的常量计数器

iota在const关键字出现时将被重置0(const 内部的第一行之前), const中没新增一行常量声明将使iota技术一次(iota可以理解为const语句块中的行索引)

iota可以被用作枚举值

const(
	a = iota
    b = iota
    c = iota
)

第一个iota等于0, 每当iota在新的一行被使用时,它的值就会自动加1;所以a=0,b=1,c=2可以简写为如下形式:

const (
	//一组常量中, 如果某个常量没有初始值, 默认和上一行一致
    a = iota
    b
    c
)

例子

package main

import "fmt"

func main() {
	const (
		a = iota
		b = iota
		c = iota
	)
	fmt.Println(a, b, c)
}