快轉到主要內容
  1. Go 基礎入門/

變數與常數

目錄
Go基礎入門 - 系列文
4: ➫

04: 本節課介紹 Go 變數和常數的基本概念、聲明方式以及跳脫字符的概念及應用。

變數 (Variables)
#

  • 定義: 變數是可以改變值的數據實體。
  • 聲明方式:
    1. 使用var關鍵字,例如 var v1 int
    2. 聲明後賦值,如 v1 = 1
    3. 同時聲明和賦值,例如 var v2 = 2v3 := 3(類型推斷)。
  • 默認值: 整數類型的默認值為零。
  • 批量聲明: 可以在一行內聲明多個變數,如 var v5, v6 int = 5, 6
  • 全局變數: 在函數外聲明的變數,可被所有函數訪問。不能使用:=語法。
      // 變數 (Variables)
      // 使用 `var` 關鍵字聲明變數
      var v1 int // v1 的默認值為 0
      fmt.Println(v1) // 輸出: 0
    
      // 聲明後賦值
      v1 = 1
      fmt.Println(v1) // 輸出: 1
    
      // 同時聲明和賦值(類型推斷)
      var v2 = 2
      fmt.Println(v2) // 輸出: 2
    
      // 使用 `:=` 語法簡化聲明和賦值
      v3 := 3
      fmt.Println(v3) // 輸出: 3
    
      // 批量聲明
      var v5, v6 int = 5, 6
      fmt.Println(v5, v6) // 輸出: 5 6
    

常數 (Constants)
#

  • 定義: 常數是一旦賦值後不可更改的數據實體。
  • 聲明方式:
    1. 使用const關鍵字,如 const c1 = 1
    2. 可以使用iota關鍵字實現自增值,起始為0。
    3. 批量聲明常數時,未指定值的常數將預設為上一行常數的值。
  • 全局常數: 類似全局變數,可被所有函數訪問。首字母大寫的常數可以跨包調用。
      // 常數 (Constants)
      // 使用 `const` 關鍵字聲明常數
      const c1 = 1
      fmt.Println(c1) // 輸出: 1
    
      // 使用 `iota` 關鍵字實現自增值
      const (
          c2 = iota // c2 = 0
          c3        // c3 = 1
      )
      fmt.Println(c2, c3) // 輸出: 0 1
    

Go自動加分號機制
#

  • Go在編譯時會自動在某些情況下加入分號。
  • 注意事項:
    1. 左大括號{不能放在單獨的一行,否則會導致編譯錯誤。
    2. 在多行聲明中,每一行的末尾必須有逗號或右大括號},否則會被誤認為語句結束。

跳脫字符
#

  • 使用情境

    • 跳脫字符用於在字符串中插入特殊字符,例如引號、換行等。
  • 常見跳脫字符

    • \":雙引號。
    • \\:反斜線。
    • \n:換行。
    • \b:退格(在某些系統中可能以空格顯示)。
    • \r:回車(將當前行的開頭替換)。
    • \t:水平製表符,用於對齊文本。
      fmt.Println("Hello, \"World\"!") // 輸出: Hello, "World"!
      fmt.Println("Line 1\nLine 2")    // 輸出: Line 1 (換行) Line 2
    

註釋
#

  • 支持的註釋方式

    • 單行註釋:使用兩個斜線//
    • 多行註釋:使用斜線星號/*開始,星號斜線*/結束。不過,即使在多行的情況下,官方推薦使用單行註釋。
      // 這是單行註釋
    
      /*
         這是多行註釋
         官方推薦即使多行也使用單行註釋
      */
    
  • 操作技巧

    • 快捷鍵:在VS Code中,使用Ctrl + /(Windows)或Cmd + /(Mac)快速添加或移除單行註釋。
    • 官方慣例:即使在多行描述時,也傾向於使用單行註釋。
Go基礎入門 - 系列文
4: ➫

相關文章

運算符
05: 本節課是 Go 運算符和格式化字串(Format Verbs)的基本介紹。
基本資料型別
06: 本節課是 Go 基本資料類型與指標概念的介紹。
組合型別
07: 本節課介紹了 Go 組合型別:陣列、slice和map的操作與遍歷。