美文网首页
04 Go常量和枚举常量

04 Go常量和枚举常量

作者: 亨锅锅 | 来源:发表于2018-09-19 18:52 被阅读0次

    一、常量

    package main
    
    import "fmt"
    
    func main() {
        /*
        1.在C语言中可以通过const来定义常量
        2.在Go语言中一样
        3.格式:
        const 变量名称 数据类型 = 值;
        注意点:
        1.数据类型可以省略, 但是const不能省略
        2.定义常量不能使用 := , := 是专门用于定义局部变量的
        3.定义局部变量没有使用, 编译会报错, 定义全局变量和常量没有使用, 不会报错
    
        4.在Go语言中可以连续定义多个变量, 所以也可以连续定义多个常量
        格式:
        const 变量名称1, 变量名称2 数据类型 = 值1, 值2;
        const(
          变量名称1 数据类型 = 值1
          变量名称2 数据类型 = 值2
        )
    
        5.常量组的注意点
        在常量组中, 如果常量没有赋值, 那么默认值就是上一行的取值
         */
    
         // 1.定义单个常量
        //const num int  =  666
        //const num  =  666
        //const num  :=  666 // 报错
        //num = 789 // 报错
        //fmt.Printf("%d\n", num)
    
        // 2.定义多个常量
        //const a, b, c int  = 10, 20, 30
        //const a, b, c  = 10, 20, 30
        //a = 666
        //b = 777
        //c = 888
    
        //const(
        //  a int = 10
        //  b int = 20
        //  c int = 30
        //)
        //const(
        //  a  = 10
        //  b  = 20
        //  c  = 30
        //)
        //a = 666
        //b = 777
        //c = 888
    
    
        // 3.常量组的注意点
        // 在常量组中, 如果常量没有赋值, 那么默认值就是上一行的取值
        //const(
        //  a  = 666
        //  b  = 789
        //  c
        //)
        //fmt.Printf("%d, %d, %d", a, b, c)
    
    
        //var(
        //  a, b = 10, 20
        //  c, d = 30, 40
        //)
        //fmt.Printf("%d, %d\n", a, b)
        //fmt.Printf("%d, %d\n", c, d)
    
    
        const(
            a, b = 10, 20
            c, d
        )
        fmt.Printf("%d, %d\n", a, b)
        fmt.Printf("%d, %d\n", c, d)
    
    }
    
    

    二、枚举常量

    package main
    
    import "fmt"
    
    func main() {
        /*
        1.C语言中的枚举本质就是一个整数
        enum 枚举名 {
            枚举元素1 = 值,
            枚举元素2 = 值,
            ……
        };
    
        2.Go语句中没有明确枚举的固定写法, 但是在企业开发中一般都会常量组的形式来表示枚举
        const(
         枚举元素 = 值
          枚举元素 = 值
        )
         */
    
        //const(
        //  male = 0
        //  female = 1
        //)
        // 注意点:
        // 1.iota迭代器, 默认会从0开始递增
    
        //const(
        //  male = iota
        //  female = iota
        //  yao = iota
        //)
        // 2.只要常量组中出现了iota, 该常量组中后续的常量都会一次递增1
        //const(
        //  male = iota
        //  female
        //  yao
        //)
        // 3.如果常量组中的iota被打断了, 那么就不会继续递增了, 会按照常量组的默认方式处理(上一行的值)
        //const(
        //  male = iota
        //  female = 666
        //  yao
        //)
    
        // 4.如果常量组中的itoa被打断了, 但是后续又被回复了, 那么前面有多少行就会递增多少
        const(
            male = iota
            female = 666
            yao = iota
        )
        fmt.Printf("%d\n", male)
        fmt.Printf("%d\n", female)
        fmt.Printf("%d\n", yao)
    
        var num int = male
        fmt.Printf("%d\n", num)
    }
    
    

    相关文章

      网友评论

          本文标题:04 Go常量和枚举常量

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