常量
需要解决的问题是展示 Go 语言中常量在字符、字符串、布尔值和数值类型上的使用。
本实验有以下要求:
- 使用
const
关键字声明常量值。
- 常量应为字符、字符串、布尔值和数值类型。
- 常量声明可以出现在
var
声明可以出现的任何位置。
- 证明常量表达式能以任意精度执行算术运算。
- 数值常量在被赋予类型之前没有类型,比如通过显式转换。
- 数字可以通过在需要类型的上下文中使用来赋予类型,比如变量赋值或函数调用。
$ go run constant.go
constant
6e+11
600000000000
-0.28470407323754404
以下是完整代码:
// Go 支持字符、字符串、布尔值和数值类型的 _常量_。
package main
import (
"fmt"
"math"
)
// `const` 声明一个常量值。
const s string = "constant"
func main() {
fmt.Println(s)
// `const` 声明可以出现在 `var` 声明可以出现的任何位置。
const n = 500000000
// 常量表达式能以任意精度执行算术运算。
const d = 3e20 / n
fmt.Println(d)
// 数值常量在被赋予类型之前没有类型,比如通过显式转换。
fmt.Println(int64(d))
// 数字可以通过在需要类型的上下文中使用来赋予类型,比如变量赋值或函数调用。例如,这里 `math.Sin` 需要一个 `float64` 类型。
fmt.Println(math.Sin(n))
}