什么是常量?
- 就是固定的值,不管是值,还是表达式,必须是能确定下来的数据。
- 并且常量在运行中,不能被改变了。
- 而且常量仅支持基本数据类型,也就是整型,浮点,字符串,布尔。
怎么定义一个常量?
const 常量名 = 值或表达式
const (
常量名1 = xx
常量名2 = xx
)
作业:接收输入的圆的半径,打印面积?
const PI = 3.14
func main() {
var r float32
fmt.Print("请输入一个半径:")
fmt.Scanf("%f\n", &r)
fmt.Printf("您输入的圆的半径是:%.2f, 圆的面积是:%.2f", r, PI*r*r)
}
常量的值可以不给吗?
正常情况下是不行的,但我们可以借助于go的特性
const (
n1 = 100
n2
n3
)
没有值的常量,和它上面一行的值相同。 也就是 n3 是用 n2 的值 , n2 是用 n1 的值,所以都是100。
什么是 iota ?
说白了,就是常量的行索引值,索引从0开始。
用 _
跳过某个值
iota 被重置
多个 iota 在一行
iota 带位移运算
<<
表示左移操作1<<10
表示将1的二进制表示向左移10位,也就是由1
变成了10000000000
,也就是十进制的1024。2<<2
表示将2的二进制表示向左移2位,也就是由10
变成了1000
,也就是十进制的8。