带着问题学go ~~~ 常量

什么是常量?

  • 就是固定的值,不管是值,还是表达式,必须是能确定下来的数据。
  • 并且常量在运行中,不能被改变了。
  • 而且常量仅支持基本数据类型,也就是整型,浮点,字符串,布尔。

怎么定义一个常量?

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开始。
带着问题学go ~~~ 常量

_ 跳过某个值
带着问题学go ~~~ 常量

iota 被重置
带着问题学go ~~~ 常量

多个 iota 在一行
带着问题学go ~~~ 常量

iota 带位移运算
带着问题学go ~~~ 常量

<< 表示左移操作
1<<10 表示将1的二进制表示向左移10位,也就是由1变成了10000000000 ,也就是十进制的1024。
2<<2表示将2的二进制表示向左移2位,也就是由10变成了1000,也就是十进制的8。

本作品采用《CC 协议》,转载必须注明作者和本文链接
六月的风
Junwind
讨论数量: 0
(= ̄ω ̄=)··· 暂无内容!

讨论应以学习和精进为目的。请勿发布不友善或者负能量的内容,与人为善,比聪明更重要!
躺平大叔 @ 躺平社区
文章
136
粉丝
15
喜欢
102
收藏
59
排名:274
访问:3.5 万
私信
所有博文
社区赞助商