GO 从零开始的语法学习<一> 变量定义

241 阅读1分钟

变量定义

1. Go语言与javascript语言有许多相似之处,它使用var关键字申明变量比如:

  • var a,b,c.bool,String
  • var s1,s2 string ="hello","world"
  • s1,s2 :="hello","world"

2. 它可以放在函数内申明,或者直接放在包内申明,:可以理解为是var的一种语法糖,但是它只能用在函数内使用,不能放在包内使用,并且在包内申明的变量并不是一种全局变量。

3. 变量在函数内可以使用var()集中定义变量

4. 编译器自动决定类型,比如var s1,s2 ="hello","world",编译器会自动识别是s1,s2为字符串

常量的定义

  • const filename = "abc.txt"
  • const 数值可作为各种类型使用
  • const a,b = 3,4
  • var c int = int(math.Sqrt(aa + bb))

使用常量定义枚举类型

func enums(){  
    const(
    cpp    = 0
    java   = 1
    python = 2
    golang = 3
    )
    fmt.Println(cpp,java,python,golang)
}

使用iota 可以实现枚举值递增

func enums(){  
    const(
    cpp    = iota
    java    
    python  
    golang  
    )
    fmt.Println(cpp,java,python,golang)
}

iota可以参与运算

func enums(){  
    const(
    b    = 1 << (10 * iota)
    kb    
    mb  
    gb
    tb
    pb
    )
    fmt.Println(cpp,java,python,golang)
}

变量定义要点:

  • 变量类型写在变量名之后
  • 编译器可推测变量类型
  • 没有char,只有rune
  • 原生支持复数类型