Golang学习之路一四常量与枚举

2024-01-01 16:27:41

Golang学习之路一四常量与枚举

常量

const 关键字 定义常量

package main

import "fmt"

// 声明在函数外部
const filename = "123.txt"

const (
	username = "admin"
	password = "admin"
)

func main() {
	// 声明在函数的内部
	const filename = "456.txt"

	fmt.Println(filename)
}

iota常量生成器和枚举类型

package main

import "fmt"

// 枚举
func enums001() {
	const (
		v1 = 0
		v2 = 1
		v3 = 2
	)
	fmt.Println(v1, v2, v3)

	// 输出结果 0 1 2
}

// 可省略的枚举
func enums002() {
	const (
		v1 = 0
		v2
		v3 = 1
		v4
	)

	fmt.Println(v1, v2, v3, v4)

	// 输出结果 0 0 1 1
}

// 定义自增的枚举类型
// iota默认值为0
// 往下依次自增
func enums003() {
	const (
		v1 = iota
		v2
		v3
		v4
	)

	fmt.Println(v1, v2, v3, v4)

	// 输出结果 0 1 2 3
}

// 计算枚举
func enums004() {
	// b等于1左移
	// 1<<(10 * 0)    1 << 0     相当于 1*2^0
	const (
		b = 1 << (10*iota)
		kb
		mb
		gb
		tb
		pb
	)
	fmt.Println(b, kb, mb, gb, tb, pb)

	// 输出结果
}

func main() {
	//enums001()
	//enums002()
	//enums003()
	enums004()
}

文章来源:https://blog.csdn.net/yinjl123/article/details/135325859
本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。