声明一个常量
特点:不可变, 在编译时需要确定
使用关键词const
package main | |
import ( | |
"fmt" | |
) | |
func main() { | |
const a = 18 | |
fmt.Println(a) | |
} |
声明一组常量
import ( | |
"fmt" | |
) | |
func main() { | |
const ( | |
name = "zhang" | |
age = 18 | |
) | |
fmt.Println(name) | |
fmt.Println(age) | |
} |
当我们试图给一个常量赋值的时候回报错
package main | |
func main() { | |
const a = 1 | |
a = 2 //cannot assign to a (untyped int constant 1) | |
} | |
package main | |
import ( | |
"math" | |
) | |
func main() { | |
var a = math.Sqrt(3) | |
const b = math.Sqrt(3) | |
} |
上面a 是一个变量,所以可以math.Sqrt函数赋值。
B是一个常量,在编译时需要知道B的值。函数math.Sqrt(3)只会在运行时计算,因此const b = math.Sqrt(3)编译失败并出错