golang const 声明常量量时候,只写名字,就会自动有值?——>[批量赋值][枚举]

golang const 声明常量量时候,只写名字,就会自动有值?——>[批量赋值][枚举]

常量 定义

关键词: const

例子


package main

import  "fmt"

func  main() {

    //var a int = 10

    //常量的定义 一般定义常量使用大写字母

    const MAX int = 10

    //常量可以参与程序的计算

    //b:=a+10

    //常量不允许左值赋值

    //a=a+10//err

    //a=100//err
    //const  MAX = "你瞅啥"
    fmt.Println(MAX)

}

批量赋值

用法

const (
        b = 10
        c = 20   
        // 批量声明的常量
        // 除了第一个外其它的常量右边的初始化表达式都可以省略
        // 如果省略初始化表达式则表示使用前面常量的初始化表达式,对应的常量类型也是一样的
        // 所以下面 d e 都是 与 c 一样 = 20  只不过批量声明 省略了
        d
        e
        g
    )

输出:

b 10
c 20
d 20
e 20
g 20

批量声明的常量
除了第一个外其它的常量右边的初始化表达式都可以省略
如果省略初始化表达式则表示使用前面常量的初始化表达式,对应的常量类型也是一样的
所以下面 d e 都是 与 c 一样 = 20 只不过批量声明 省略了

iota 枚举(与批量声明一起用)

定义

iota枚举格式如果写在一行中值相等 如果换行值在上一行加一

例子

package main

import  "fmt"

func  main() {

    //iota枚举

    //iota枚举格式如果写在一行中值相等 如果换行值在上一行加一

    //const (

    // a = iota

    // b, c = iota, iota

    //)

    //只需要对第一个进行iota赋值 后面会依次增长

    //const (

        // a = iota

        // b

        // c

        // d

    //)

    //在定义iota枚举时可以自定义赋值

    const (

        a = iota

        b = 10

        c = 20

        // 批量声明的常量

        // 除了第一个外其它的常量右边的初始化表达式都可以省略

        // 如果省略初始化表达式则表示使用前面常量的初始化表达式,对应的常量类型也是一样的

        // 所以下面 d e 都是 与 c 一样 = 20 只不过批量声明 省略了

        d

        e

        f = iota

        g

    )

    //a=100//err

    fmt.Println(a)

    fmt.Println(b)

    fmt.Println(c)

    fmt.Println(d)

    fmt.Println(e)

    fmt.Println(f)

    fmt.Println(g)

}

输出结果:

wcb@appledeMacBook-Pro-4 01代码 % go run 06iota枚举.go
0
10
20
20
20
5
6

防爬虫说明

禁止 学习某地爬虫,知乎爬虫,CSDN 爬虫。

本文,首发在 learnku 社区。

@author
汪春波(www.shxdledu.cn)

本作品采用《CC 协议》,转载必须注明作者和本文链接
嗨,我是波波。曾经创业,有收获也有损失。我积累了丰富教学与编程经验,期待和你互动和进步! 公众号:上海PHP自学中心 付费知识星球:破解面试:程序员的求职导师
讨论数量: 1

go基础章节中有讲到过,还有定义的是自增的情况

3年前 评论

讨论应以学习和精进为目的。请勿发布不友善或者负能量的内容,与人为善,比聪明更重要!
司机 @ 欣昊玉
文章
273
粉丝
339
喜欢
557
收藏
1104
排名:64
访问:12.2 万
私信
所有博文
社区赞助商