欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页  >  IT编程

golang基础--常量与运算符

程序员文章站 2022-03-11 16:09:25
常量与运算符 常量的定义 常量的值在编译时已经确定 常量的定义格式与变量的基本相同 等号的右侧必须是常量或者常量表达式 规范: 常量定义时建议都使用大写,单词之间使用大写 便于包的外部调用 如果只限于包内部使用在常量开头使用 或者使用小写 常量与全局变量的区别 常量表达式里面必须使用常量表达式的变量 ......

常量与运算符

常量的定义

  • 常量的值在编译时已经确定

  • 常量的定义格式与变量的基本相同

  • 等号的右侧必须是常量或者常量表达式

  • 规范: 常量定义时建议都使用大写,单词之间使用大写

  • 便于包的外部调用
  • 如果只限于包内部使用在常量开头使用_或者使用小写c

    //常量赋值
    package main
    import "fmt"
    const a int = 1                                      //常规写法:声明类型
    const b = 'A'                                        //自动判断类型
    const(
        c = a
        d = a + 1
        e = a + 2
    )
    const ( //常量组定义方法2
        a2, b2, c2 = 1, "2", "c"
       )
    const a3, b3, c3 = 1, "2", "c"            //简单写法,多个定义
    const (                                             //常量组特性:如果常量没有赋值,下面默认使用了之前的常量表达式
        a4 = 1
        b4
        c4
        d4
      )
    func main() {
        fmt.Println(a4)
        fmt.Println(b4)
        fmt.Println(c4)
        fmt.Println(d4)
      }
    /*output
      1
      1
      1
      1
    */
  • 常量与全局变量的区别

  • 常量表达式里面必须使用常量表达式的变量和内置函数,不能使用运行时才能获得的变量和值

    package main
    import "fmt"
    var sss = 123
    const (
        //a = len(sss)                             //这种写法是错误的,无法使用全局变量
        b = "123"
        c = len(b)
        d,f = 1,"abc"
        j                                              //这种方式也是错误的,初始化的个数必须相同
      )
    func main() {
        //fmt.Println(a)
        fmt.Println(b)
        fmt.Println(c)
        fmt.Println(d)
      }
    /*output
        123
          3
          3
    */

    枚举结合常量组使用,用于计数

  • 常量组中每定义一个常量,计数就递增1,第一个常量默认为0

  • 当组中常量出现关键字iota时,说明此时需要使用该组常量的计数

    //常量&枚举(计数)
    package main
    import "fmt"
    const (
        B1 = "ssss"
        A  = "a"
        B  = iota
        E
        F  = iota
      )
    func main() {
        fmt.Println(B1)
        fmt.Println(A)
        fmt.Println(B)
        fmt.Println(E)
        fmt.Println(F)
      }
    /*output
    ssss           //iota =0
    a                 //iota=1
    2                 //iota =2
    3
    4
    */

运算符

  • go中运算符均时从左到右