Go语言常量(const)教程
中的常量用于存储不会改变的数据,Go 语言常量的定义使用 const 关键字。Go 语言常量是在编译时被创建,即使被定义为 局部的也如此。
Go 语言常量只能是 、(整数型、浮点型和复数)和 。由于编译时的限制,定义常量的表达式必须为能被编译器求值的常量表达式。
常量在定义时,必须赋初值,因为 Golang 的常量不可被修改,因此,如果不赋初值,那么常量永远没有值。
Go语言常量(const)详解
定义
const identifier [type] = value
参数
参数 | 描述 |
---|---|
const | 定义常量,所使用的关键字。 |
identifier | 常量名。 |
type | 常量的数据类型。 |
value | 常量的值。 |
说明
使用 const 关键字定义常量。type 可以省略,使用编译器的自动类型推导。且常量在定义时,必须赋初值。
多个常量定义详解
语法
const( e = 2.7182818 pi = 3.1415926 )
说明
Golang 的常量定义和变量定义一样,可以支持一次定义多个。
Go语言常量(const)简写形式详解
语法
const( a = 1 b c = 2 d e )
说明
批量声明的常量,除了第一个外其它的常量右边的初始化表达式都可以省略。如果省略初始化表达式则表示使用前面常量的初始化表达式写法,对应的常量类型也一样的。
所以,上面的常量,其中 a 和 b 的值都为 1,c 、d 和 e 的值都为 2。
Go语言常量(const)说明
Go 语言常量的值必须是能够在编译时就能够确定的。Go 语言常量可以在其赋值表达式中涉及计算过程,但是所有用于计算的值必须在编译期间就能获得。
const c1 = 2/3 //正确,在编译时可以确定 c1 的值 const c2 = getNum() //错误,c2 的值需要在运行时才能确定
案例
定义常量
使用 const 关键字定义常量
package main import ( "fmt" ) func main() { fmt.Println("Hello 嗨客网(www.haicoder.net)") //Golang 使用 const 定义常量 const e = 2.7182818 const pi = 3.1415926 fmt.Println("e = ", e, "pi = ", pi) }
程序运行,结果如下:
首先,我们使用 const 定义了一个 类型的常量 e,并赋值为 2.7182818。接着,我们再次使用 const 定义了一个 float64 类型的常量 pi,并赋值为 3.1415926。
批量定义常量
使用 const 关键字批量定义常量
package main import ( "fmt" ) func main() { fmt.Println("Hello 嗨客网(www.haicoder.net)") //Golang 使用 const 批量定义常量 const( e = 2.7182818 pi = 3.1415926 ) fmt.Println("e = ", e, "pi = ", pi) }
程序运行,结果如下:
我们使用 const 一次定义了两个常量。
批量定义常量
使用 const 关键字批量定义常量,忽略值
package main import ( "fmt" ) func main() { fmt.Println("Hello 嗨客网(www.haicoder.net)") //Golang 使用 const 批量定义常量,忽略值 const( a = 1 b c = 2 d e ) fmt.Println("a = ", a, "b = ", b, "c =", c, "d =", d, "e =", e) }
程序运行,结果如下:
我们使用 const 一次定义了五个常量,并且只给常量 a 和常量 c 赋值。所以常量 b 的值和常量 a 的值保持一致,常量 d 和常量 e 的值和常量 c 的值保持一致。
Go语言常量(const)总结
Golang 中的常量用于存储不会改变的数据,Go 语言常量的定义使用 const 关键字。Go 语言常量的值必须是能够在编译时就能够确定的。
Golang 常量定义和变量定义一样,可以支持一次定义多个。