Golang入门到项目实战 | go语言常量

Posted 一个热爱编程的通信人

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Golang入门到项目实战 | go语言常量相关的知识,希望对你有一定的参考价值。

常量,就是在程序编译阶段就确定下来的值,而程序在运行时则无法改变该值。在Go程序中,常量可以是数值类型(包括整型、浮点型和复数类型)、布尔类型、字符串类型等。

定义常量的语法

定义一个常量使用const关键字,语法格式如下:

const constantName [ type ] = value

const:定义常量关键字

constantName:常量名称

type:常量类型

value:常量的值

实例

package main

func main() 
	const PI float64 = 3.14
	const PI2 = 3.1415 // 可以省略类型

	const (
		width  = 100
		height = 200
	)

	const i, j = 1, 2 // 多重赋值
	const a, b, c = 1, 2, "foo"

const同时声明多个常量时,如果省略了值则表示和上面一行的值相同

package main

import "fmt"

func main() 
	const (
		a1 = 100
		a2
		a3
	)

	fmt.Printf("a1: %v\\n", a1)
	fmt.Printf("a2: %v\\n", a2)
	fmt.Printf("a3: %v\\n", a3)

运行结果

[Running] go run "d:\\SynologyDrive\\软件开发\\go\\golang入门到项目实战\\goproject\\360duote.com\\pro01\\contant.go"
a1: 100
a2: 100
a3: 100

iota

iota比较特殊,可以被认为是一个可被编译器修改的常量,它默认开始值是0,每调用一次加1。遇到const关键字时被重置为0。

实例

package main

import "fmt"

func main() 
	const (
		a1 = iota
		a2 = iota
		a3 = iota
	)

	fmt.Printf("a1: %v\\n", a1)
	fmt.Printf("a2: %v\\n", a2)
	fmt.Printf("a3: %v\\n", a3)

运行结果

[Running] go run "d:\\SynologyDrive\\软件开发\\go\\golang入门到项目实战\\goproject\\360duote.com\\pro01\\contant.go"
a1: 0
a2: 1
a3: 2

使用_跳过某些值

package main

import "fmt"

func main() 
	const (
		a1 = iota
		_
		a2 = iota
	)

	fmt.Printf("a1: %v\\n", a1)
	fmt.Printf("a2: %v\\n", a2)

运行结果

[Running] go run "d:\\SynologyDrive\\软件开发\\go\\golang入门到项目实战\\goproject\\360duote.com\\pro01\\contant.go"
a1: 0
a2: 2

iota声明中间插队

package main

import "fmt"

func main() 
	const (
		a1 = iota
		a2 = 100
		a3 = iota
	)

	fmt.Printf("a1: %v\\n", a1)
	fmt.Printf("a2: %v\\n", a2)
	fmt.Printf("a3: %v\\n", a3)

运行结果

[Running] go run "d:\\SynologyDrive\\软件开发\\go\\golang入门到项目实战\\goproject\\360duote.com\\pro01\\contant.go"
a1: 0
a2: 100
a3: 2

以上是关于Golang入门到项目实战 | go语言常量的主要内容,如果未能解决你的问题,请参考以下文章

Golang入门到项目实战 | go语言布尔类型

Golang入门到项目实战 | golang字符串

Golang入门到项目实战 golang中的if语句

Golang入门到项目实战 golang 函数

Golang入门到项目实战 | go语言遍历map

Golang入门到项目实战 | golang中的if语句