datetime:2020/8/18 10:57
author:nzb

Go语言中的变量和常量

1、Go语言中变量的声明

Go语言变量是由字母、数字、下划线组成,其中首个字符不能为数字。Go语言中关键字和保留字都不能用作变量名

Go语言中变量需要声明后才能使用,同一作用域内不支持重复声明。并且Go语言的变量声明后必须使用。

变量声明后,没有初始化,打印出来的是空

1.1、如何定义变量

  • 方式1

      var name = "zhangsan"
    
  • 方式2:带类型

      var name string = "zhangsan"
    
  • 方式3:类型推导方式定义变量

    在函数内部,可以使用更简略的 := 方式声明并初始化变量

    注意:短变量只能用于声明局部变量,不能用于全局变量声明

      变量名 := 表达式
    
  • 方式4:声明多个变量

    类型都是一样的变量

      var 变量名称, 变量名称 类型
      a, b, c := 1,2,"3"
    

    类型不一样的变量

      var (
          变量名称 类型
          变量名称 类型
      )
    
  • 匿名变量

    在使用多重赋值时,如果想要忽略某个值,可以使用匿名变量(anonymous variable)

    匿名变量用一个下划线“_”表示

      func Getuser(){
          return username, age
      }
    
      var username, _ = Getuser()
    
  • 示例代码

    • 代码

            package main
      
            import "fmt"
      
            func main() {
                var a = 10
                fmt.Printf("%d\n", a)
      
                var name1 = "zhangsan"
                var name2 string = "lishi"
                name3 := "wangwu"
      
                fmt.Println(name1)
                fmt.Println(name2)
                fmt.Println(name3)
                fmt.Printf("name1=%v, name2=%v, name3=%v", name1, name2, name3)
      
                var b, c string
      
                b = "b"
                c = "c"
      
                fmt.Printf("\nb=%v, c=%v\n", b, c)
      
                var (
                    d int
                    e string
                    f bool
                )
      
                d = 100
                e = "string"
                f = true
      
                //var (
                //    d int = 1
                //    e string = 'e'
                //    f bool = false
                //)
      
                fmt.Printf("d=%v, e=%v, f=%v\n", d, e, f)
            }
      
    • 输出

        10
        zhangsan
        lishi
        wangwu
        name1=zhangsan, name2=lishi, name3=wangwu
        b=b, c=c
        d=100, e=string, f=true
      

2、常量

2.1、如何定义常量

相对于变量,常量是恒定不变的值,多用于定义程序运行期间不会改变的那些值。常量的声明和变量声明非常类似,只是把var换成了const,常量在定义的时候必须赋值

    // 定义了常量,可以不用立即使用
    const pi = 3.14

    // 定义两个常量
    const(
        A = "A"
        B = "B"
    )

    // const同时声明多个常量时,如果省略了值表示和上面一行的值相同
    const(
        A = "A"
        B
        C
    )

2.2、 Const常量结合iota的使用

iota是golang 语言的常量计数器,只能在常量的表达式中使用

iota在const关键字出现时将被重置为0(const内部的第一行之前),const中每新增一行常量声明将使iota计数一次(iota可理解为const语句块中的行索引)。

每次const出现,都会让iota初始化为0【自增长】

    const a = iota // a = 0
    const (
        b = iota // b=0
        c        // c = 1
        d        // d = 2
    )

const iota使用_跳过某些值

    const (
        b = iota // b=0
        _
        d        // d = 2
    )

多个赋值

    const (
        n1, n2 = iota + 1, iota + 2 //1 2
        n3, n4                      // 2 3
        n5, n6                      //3 4
    )

3、Go语言变量、常量命名规则

  • 变量名必须有数字、字母、下划线组成
  • 标识符不能是数字
  • 标识符不能是保留字和关键字
  • 变量的名字是区分大小写的
  • 标识符(变量名称)一定要见名思意:变量名称建议用名词,方法名称建议用动词
  • 变量命名一般采用驼峰式。

results matching ""

    No results matching ""