美文网首页
变量和枚举常量

变量和枚举常量

作者: 远方的路_ | 来源:发表于2018-09-22 00:55 被阅读0次

    常量

    1.在Go语言中和C语言一样可以通过const来定义常量
    2.变量的格式:
    const 变量名称 数据类型 = 值;

    注意点:
    1.数据类型可以省略, 但是const不能省略
    const num int = 666
    const num = 666
    2.定义常量不能使用 := , := 是专门用于定义局部变量的
    const num := 666 //语法错误
    3.定义局部变量没有使用, 编译会报错, 定义全局变量和常量没有使用, 不会报错
    4.在Go语言中可以连续定义多个变量, 所以也可以连续定义多个常量

    格式:

    • const 变量名称1, 变量名称2 数据类型 = 值1, 值2;
      const a, b, c int = 10, 20, 30
      const a, b, c = 10, 20, 30

    • const(
      变量名称1 数据类型 = 值1
      变量名称2 数据类型 = 值2
      )

    const(
            a int = 10
            b int = 20
            c int = 30
        )
    //const(
    //      a  = 10
    //      b  = 20
    //      c  = 30
    //  )
    

    常量组的注意点:
    在常量组中, 如果常量没有赋值, 那么默认值就是上一行的取值

    const(
        a  = 666
        b  = 789
        c
    )
    fmt.Printf("%d, %d, %d", a, b, c) //666,789,789
    
    const(
        a, b = 10, 20
        c, d
    )
    fmt.Printf("%d, %d\n", a, b) //10,20
    fmt.Printf("%d, %d\n", c, d)// 10,20
    

    枚举常量

    1.在C语言中的枚举本质就是一个整数
    格式:
    enum 枚举名 {
    枚举元素1 = 值,
    枚举元素2 = 值,
    ……
    };
    2.Go语言中没有明确枚举的固定写法, 但是在企业开发中一般都会以常量组的形式来表示枚举
    格式:
    const(
    枚举元素 = 值
    枚举元素 = 值
    )

    const(
        male = 0
        female = 1
    )
    
    注意点:

    1.iota迭代器, 默认会从0开始递增

    const(
        male = iota
        female = iota
        yao = iota
    )
    fmt.Printf("%d\n", male) // 0
    fmt.Printf("%d\n", female) // 1
    fmt.Printf("%d\n", yao) // 2
    

    2.只要常量组中出现了iota, 该常量组中后续的常量都会一次递增1

    const(
        male = iota
        female
        yao
    )
    fmt.Printf("%d\n", male) // 0
    fmt.Printf("%d\n", female) // 1
    fmt.Printf("%d\n", yao) // 2
    

    3.如果常量组中的iota被打断了, 那么就不会继续递增了, 会按照常量组的默认方式处理(上一行的值)

    const(
        male = iota
        female = 666
        yao
    )
    fmt.Printf("%d\n", male) // 0
    fmt.Printf("%d\n", female) //666
    fmt.Printf("%d\n", yao) // 666
    

    4.如果常量组中的itoa被打断了, 但是后续又被回复了, 那么前面有多少行就会递增多少

    const(
        male = iota
        female = 666
        yao = iota
    )
    fmt.Printf("%d\n", male) // 0
    fmt.Printf("%d\n", female) // 666
    fmt.Printf("%d\n", yao) // 2
    //定义一个变量num
    var num int = male
    fmt.Printf("%d\n", num) // 0
    

    相关文章

      网友评论

          本文标题:变量和枚举常量

          本文链接:https://www.haomeiwen.com/subject/cjoznftx.html