變數與常量 - Go 學習記錄

Ali發表於2019-02-26

變數宣告、初始化、賦值

  • 單個變數的宣告格式為: var <變數名稱> [變數型別]
  • 變數的賦值格式: <變數名稱> = <值,表示式,函式等>
  • 宣告和賦值同時進行:var <變數名稱> [變數型別] = <值,表示式,函式等>
  • 分組宣告格式:
    var (
        number int
        floatNumber float32
        username string
    )
  • 同一行宣告多個變數和賦值:var a,b,c int = 1,2,3 或者 a,b:=1,2(只能用於函式體內)
  • 全域性變數的宣告必須使用 var 關鍵字,區域性變數可以省略
  • 特殊變數下劃線 _
  • Go 中不存在隱式轉換,型別轉換必須是顯式的
  • 型別轉換隻能發生在兩種相容型別之間
  • 型別轉換格式:<變數名稱>[:]=<目標型別>(<需要轉換的變數>)
  • 大寫字母開頭的變數是可以匯出的,也就是其他包可以讀取的,是公用變數
  • 小寫字母開頭的就是不可以匯出的,是私有變數

常量定義形式和常量型別範圍

  • 常量定義從形式上可以分為顯式和隱式
    顯式:const identifier [type] = value
    隱式:const identifier = value (通常叫無型別常量)
  • 常量可以使用內建表示式(函式)定義,例如 len(),unsafe.Sizeof()
  • 常量型別範圍目前值支援布林型、數字型(整數型、浮點和複數)和字串

特殊常量iota的使用(只能在常量定義中使用,函式體中不能使用)

  • iota 在const 關鍵字出現的時將被重置為 0
  • const中每新增一行常量宣告將使用iota計數一次
  • iota 常見使用發:

    1. 跳值使用
      const (
      iotae = iota // 0
      _ // 通過下劃線來達到 跳值使用法  會把1 賦值給下劃線 1
      _ // 2
      iotaf = iota // 3
      )
    2. 插隊使用
      const (
          iotag = iota // 0
          iotah = 3.14 // 3.14
          iotaj = iota // 2
      )
    3. 表示式隱式使用
      const (
      a = iota * 2 // 0
      b = iota * 3 // 3
      c  // 6
      d  // 9
      )
    4. 單行使用
      const (
      iotay,iotau = iota,iota+3 // 0 , 3
      iotao,iotas // 1,4 iotao 沿用第一個也就是 iotay的,而 iotas 沿用的是iotau的
      ff = iota // 2
      )

    如想看教程同步的程式碼移步 GitHub 地址。

本作品採用《CC 協議》,轉載必須註明作者和本文連結

高永立

相關文章