四 Go语言之常量

一 常量定义使用

我们都知道,变量是用来存储数据,并且变量里面存储的值是可以在程序运行时随时发生变化的。但是,常量里面的值确定好后,后面是不允许修改的。下面看一下关于常量的定义使用

func main() {
    
    
	const a int = 10
	//报错
	//a = 20
	fmt.Println("a的值:", a)

	//自动推导类型,没有使用:=
	const b = 11.2
	fmt.Println("b的值", b)
}

什么场景下会用到常量呢

在程序开发中,我们用常量存储一直不会发生变化的数据,例如:π,身份证号码等。像这类的数据,在整个程序中运行中都是不允许发生改变的。

二 字面常量

所谓字面常量(literal),是指程序中硬编码的常量,如:
在这里插入图片描述

三 枚举

常量声明可以使用iota常量生成器初始化,它用于生成一组以相似规则初始化的常量,但是不用每行都写一遍初始化表达式。

注意:在一个const声明语句中,在第一个声明的常量所在的行,iota将会被置为0,然后在每一个有常量声明的行加一。
具体使用方式如下:

package main

import "fmt"

func main() {
    
    
	//1、iota常量自动生成器,每个一行,自动累加1
	//2、iota给常量赋值使用
	const (
		a = iota //0
		b = iota //1
		c = iota //2
	)
	fmt.Printf("a=%d,b=%d,c=%d\n", a, b, c)
	//3、iota遇到const,重置为0
	const d = iota
	fmt.Printf("d=%d\n", d)

	//4、可以只写一个iota
	const (
		a1 = iota
		b1
		c1
	)
	fmt.Printf("a1=%d,b1=%d,c1=%d\n", a1, b1, c1)

	//5、如果是同一行,值都一样
	const (
		i          = iota
		j1, j2, j3 = iota, iota, iota
		k          = iota
	)
	fmt.Printf("i=%d,j1=%d,j2=%d,j3=%d,k=%d", i, j1, j2,j3,k)
}

结果
在这里插入图片描述

猜你喜欢

转载自blog.csdn.net/qq_33417321/article/details/114806417