Go - 常數:初學者指南

歡迎,有志於成為程序員的你!今天,我們將深入Go語言中的常數世界。別擔心如果你從未寫過一行代碼——我們會從基礎開始,逐步學習。在這個教程結束時,你將成為一名常數行家!

Go - Constants

什麼是常數?

在我們深入細節之前,讓我們先了解什麼是常數。在編程中,常數是一個在程序執行過程中不會改變的值。把它想像成一個你可以存放下一个值並封閉的盒子——一旦值被放入,它就不會被取出或改變!

整數字面量

讓我們從簡單的開始——整數字面量。這些是不帶有小數點的整數。

示例 1:基本整數字面量

package main

import "fmt"

func main() {
fmt.Println(42)
fmt.Println(-17)
fmt.Println(0)
}

在這個示例中,我們打印了三個整數字面量:42、-17 和 0。簡單吧?但Go語言讓我們可以對整數進行更多操作。

示例 2:不同的數制系統

package main

import "fmt"

func main() {
fmt.Println(42)    // 十進制(基數 10)
fmt.Println(0x2A)  // 十六進制(基數 16)
fmt.Println(052)   // 八進制(基數 8)
}

這裡有點意思了。所有三行都打印了同一個數字(42),但是用不同的數制系統寫的。這就像在不同的語言中說同一個數字!

浮點數字面量

現在,讓我們來看看小數,好嗎?

示例 3:基本浮點數字面量

package main

import "fmt"

func main() {
fmt.Println(3.14159)
fmt.Println(-0.5)
fmt.Println(2.0)
}

這些是你常見的小數。但Go語言為我們提供了更多表達它們的方式:

示例 4:科學記數法

package main

import "fmt"

func main() {
fmt.Println(6.022e23)  // 阿伏伽德羅常數
fmt.Println(1.6e-19)   // 電子的電荷
}

科學記數法對於非常大或非常小的數字非常方便。它就像給數字賦予了超能力!

轉義序列

有時候,我們需要在字符串中包含特殊字符。這時,轉義序列就派上用場了。

示例 5:常見的轉義序列

package main

import "fmt"

func main() {
fmt.Println("Hello\nWorld")  // 新行
fmt.Println("Tab\tcharacter")  // 標籤
fmt.Println("Backslash: \\")  // 反斜杠
fmt.Println("\"Quotes\"")  // 引號
}

這些小小的反斜杠就像魔法棒,將普通字符轉化為特殊的字符!

Go語言中的字符串字面量

字符串是編程中的句子。讓我們看看Go語言是如何處理它的。

示例 6:基本字符串字面量

package main

import "fmt"

func main() {
fmt.Println("Hello, Gophers!")
fmt.Println(`This is a raw string literal.
It can span multiple lines.`)
}

注意區別嗎?第一個使用雙引號,而第二個使用反引號。使用反引號的版本稱為原始字符串字面量,它可以包含多行!

const關鍵字

現在,讓我們使用const關鍵字把所有東西串起來。

示例 7:聲明常數

package main

import "fmt"

const (
PI = 3.14159
GRAVITATIONAL_CONSTANT = 6.67430e-11
GREETING = "Hello, Constants!"
)

func main() {
fmt.Println(PI)
fmt.Println(GRAVITATIONAL_CONSTANT)
fmt.Println(GREETING)
}

在這裡,我們聲明了程序中稍後不能更改的常數。這就像把這些值刻在石頭上!

常數方法

Go語言提供了多種處理常數的方法。下面是一個總結表:

方法 描述 示例
iota 生成一系列相關的常數 const ( A = iota; B; C )
類型推斷 Go可以推斷常數的類型 const x = 5
未類型化常數 沒有特定類型的常數 const y = 3.14
類型化常數 有特定類型的常數 const z int64 = 1000000

記住,常數是你在Go語言中的朋友。它們幫助你組織代碼,防止重要值被意外更改。

總結來說,Go語言中的常數是強大的工具,讓你能在程序中定義不可變的值。從簡單的整數到複雜的字符串,常數提供了一種使代碼更具可讀性和可維護性的方式。

所以,勇往直前,征服Go語言中的常數世界,年輕的Gophers!你踏入令人興奮的Go語言編程世界的旅程才剛剛開始。快樂編程!

Credits: Image by storyset