Go supports constants of character, string, boolean, and numeric values.
const declares a constant value.
A const statement can appear anywhere a var statement can.
Constant expressions perform arithmetic with arbitrary precision.
A numeric constant has no type until it’s given one, such as by an explicit cast.
A number can be given a type by using it in a context that requires one, such as a variable assignment or function call. For example, here math.Sin expects a float64.
package main import "fmt" import "math" const s string = "constant" func main() { fmt.Println(s) const n = 500000000 const d = 3e20 / n fmt.Println(d) fmt.Println(int64(d)) fmt.Println(math.Sin(n)) }
Go 语言支持的常量类型有 characer string 字符型 boolean 波尔型 numeric 数值
用 const关键字来声明一个常量值
一个常量声明能展现的 、任何一个var声明的都可以
常量表达式可以展现任意精度的算术运算
一个算术表达式可以没有类型,直到他被给予一个值,例如通过显示转换
一个数可以用它在需要使用一个给定的类型,例如一个变量的赋值或者一个函数的调用。
例如,这里的math.Sin就是期望是一个float64的类型。
package main import "fmt" import "math" const s string = "constant" func main() { fmt.Println(s) const n = 500000000 //定义一个常量 注意这里的常量类型就是不允许改变了 const d = 3e20 / n //根据科学技术法计算 fmt.Println(d) fmt.Println(int64(d)) fmt.Println(math.Sin(n)) }
运行结果
$ go run constant.go
constant
6e+11
600000000000
-0.28470407323754404
有疑问加站长微信联系(非本文作者)