如何在 Golang 中使用常數

Golang 中的 Constant 或 Const是什麼?以下是關於在 Go 中使用常數需要了解的內容

顧名思義,constant 就是固定的意思。在程式語言中也是如此,一旦定義了常數的值,就不能再修改它。可以有任何基本資料型別的常數,如整數常數、動態常數、字元常數或字串。

如何在 Golang 中使用常數

如何聲明:常數像變數一樣聲明,但使用 const 關鍵字作為前綴來聲明具有特定資料類型的常數。不能使用“: = ”語法聲明常數。

例如:

package main

import "fmt"

const PI = 3.14

func main() 
{
	const GFG = "Quantrimang"
	fmt.Println("Hello", GFG)

	fmt.Println("Happy", PI, "Day")

	const Correct= true
	fmt.Println("Go rules?", Correct)
}

結果:

Hello Quantrimang
Happy 3.14 Day
Go rules? true

關於 Golang 中常數你需要知道的事情

無類型和有類型的數字常數

類型常數的行為類似於只能與相同類型交互作用的不可變變量,而無類型常數的行為類似於可以與相似類型交互作用的文字常數。在 Go 中,常數可以用型別聲明,也可以不用型別聲明。以下範例顯示了類型化和非類型化、命名和未命名的數字常數。

const untypedInteger          = 123
const untypedFloating          = 123.12

const typedInteger  int             = 123
const typedFloatingPoint   float64  = 123.12

Go語言中的常數列表如下:

  • 常數(整數常數、動態常數、複數常數)
  • 字串
  • 布林常數

數位常數

數值常數是具有高精度的數值。因為 Go 是一種靜態型別語言,所以它不允許組合數字類型的操作。您無法添加float64int,甚至無法int32添加到int。但是,寫1e6*time.Secondmath.Exp(1)甚至仍然有效1<>。在 Go 中,常數與變數不同,其行為類似於常規數字。

數字常數有三種:

  1. 整數
  2. 浮點
  3. 複雜的

整數常數:

  • 前綴指定基數:十六進位為 0x 或 0X,八進位為 0,十進位為無。
  • 整數文字也可以具有後綴,該後綴由 U(大寫)和 L(小寫)組合而成,分別代表無符號長整型。
  • 它可以是十進制、八進製或十六進制常數。
  • int最多可以儲存 64 位元整數,有時更少。

以下是一些整數常數的範例:

85 /* thập phân */
0213 /* bát phân */
0x4b /* thập lục phân */
30 /* int */
30u /* unsigned int */
30l /* long */
30ul /* unsigned long */
212 /* Hợp lệ */
215u /* Hợp lệ */
0xFeeL /* Hợp lệ */
078 /* Không hợp lệ: 8 không phải là chữ số bát phân */
032UU /* Không hợp lệ: không thể lặp lại hậu tố */

複數常數:

複數常數的工作方式與浮點常數非常相似。它是整數常數(或參數)的有序對或實數對。且常數之間用逗號分隔,數字對放在括號中。第一個常數是實部,第二個常數是虛部。複數常數 COMPLEX*8 使用8 個位元組的儲存空間。

例如:

(0.0, 0.0) (-123.456E+30, 987.654E-29)

動態型別常數:

  • 實數常數有整數部分、小數部分、小數部分和指數部分。
  • 可以表示為十進位或指數形式的實數常數。
  • 當以十進制形式表示時,它必須包含小數點、指數或兩者。
  • 而當以指數形式表示時,它必須包含整數部分、小數部分,或兩者兼有。

例如:

3.14159 /* Hợp lệ */
314159E-5L /* Hợp lệ */
510E /* Không hợp lệ: số mũ không đầy đủ */
210f /* Không hợp lệ: không có số thập phân hoặc số mũ */
.e55 /* Không hợp lệ: thiếu số nguyên hoặc phân số */

字串

  • Go 支援兩種類型的字串文字,即” ”(雙引號樣式)和‘ ‘(反向引號樣式)。
  • +字串可以用and運算子連接起來+=
  • 字串包含與文字字元類似的字元:普通字元、轉義序列和通用字元。這是一個沒有風格的角色。
  • 字串類型的零值是空字串,可以用” ”文字表示。
  • 所有字串類型都可以使用諸如==!=和 之類的運算子進行比較(比較相似的類型)

句法:

kiểu _string struct {
các phần tử *byte // các byte cơ bản
len int // số byte
}

例如:

"hello, quantrimang" 

"hello, \ 

quantrimang" 

"hello, " "quan" "trimang" 

這裡,所有三個語句都是相同的,也就是說,它們沒有任何特定的類型。

例如:

package main

import "fmt"

func main()
{
	const A = "GFG"
	var B = "GeeksforGeeks"
	
	// Chuỗi Concat.
	var helloWorld = A+ " " + B
	helloWorld += "!"
	fmt.Println(helloWorld) 
	
	// Chuỗi so sánh.
	fmt.Println(A == "GFG") 
	fmt.Println(B < a)="">

結果:

GFG Quantrimang!
true
false

時間複雜度:O(1)
輔助空間:O(1)

布林常數

布林常數與字串常數類似。它應用與字串常數相同的規則。唯一的區別是它有兩個沒有類型的 consttruefalse

package main

import "fmt"

const Pi = 3.14

func main() 
{
	const trueConst = true
	
	// Định nghĩa kiểu bằng từ khóa type
	type myBool bool 
	var defaultBool = trueConst // được phép
	var customBool myBool = trueConst // được phép
	
	// defaultBool = customBool // không được phép
	fmt.Println(defaultBool)
	fmt.Println(customBool) 
}

結果:

true
true

時間複雜度: O(1)
輔助空間: O(1)

Go 中的常數: Go 有字元、字串、布林和數字常數。 Const 宣告一個常數值。const當存在變數時,可以出現語句,從而執行沒有任何固定精度的算術運算。

// Minh họa hằng số bằng cách dùng go.
package main

import (
	"fmt"
	"math"
)

const s string = "Quantrimang"

func main() {
	fmt.Println(s)

	const n = 5

	const d = 3e10 / n
	fmt.Println(d)

	fmt.Println(int64(d))

	fmt.Println(math.Sin(n))
}

結果:

Quantrimang
6e+09
6000000000
-0.9589242746631385

時間複雜度: O(1)
輔助空間: O(1)

如果您想一次定義多個常數,您可以使用括號區塊來實現,如下所示。

package main

import "fmt"

const (
	GFG	 = "Quantrimang"
	Correct = true
	Pi	 = 3.14
)

// Hàm chính
func main() {

	fmt.Println("value of GFG : ", GFG)

	fmt.Println("value of Correct : ", Correct)

	fmt.Println("value of Pi : ", Pi)
}

結果:

value of GFG :  Quantrimang
value of Correct :  true
value of Pi :  3.14
Sign up and earn $1000 a day ⋙

Leave a Comment

Golang 中的 Volatile 函數

Golang 中的 Volatile 函數

Go 中的可變函數可讓您向函數傳遞可變數量的參數。以下是您需要了解的有關 Golang 中的易失性函數的所有資訊。

Golang 中的命名回傳參數

Golang 中的命名回傳參數

在 Golang 中,命名回傳參數通常被稱為命名參數。 Golang 允許在函數簽章或定義中命名函數的傳回參數或結果。

Go 中的關鍵字

Go 中的關鍵字

關鍵字-關鍵字是語言中用於某些內在過程或代表某些預定義動作的字詞。以下是您需要了解的有關 Golang 中的關鍵字的知識。

Golang中的資料類型

Golang中的資料類型

資料類型指定有效的 Go 變數可以包含的資料類型。 Go語言中,類型分為以下四類:

Golang 中的函數參數

Golang 中的函數參數

Go 支援兩種主要的傳遞參數的方式:按值傳遞和按引用傳遞。 Go 預設使用按值傳遞。

Golang中傳回多個值的函數

Golang中傳回多個值的函數

在Go語言中,允許使用return語句從函數傳回多個值。換句話說,在函數中,一個return語句可以傳回多個值。

Go 中的 Switch 語句

Go 中的 Switch 語句

Golang 和大多數其他程式語言一樣,有 switch 語句。以下是如何在 Golang 中使用 switch 語句。

在 Golang 中使用選擇語句時需要了解的案例

在 Golang 中使用選擇語句時需要了解的案例

在本文中,我們將學習如何使用預設情況來避免死鎖。但首先,讓我們先了解一下使用 Golang select 指令時出現死鎖的情況是什麼?

Golang 中的匿名結構和字段

Golang 中的匿名結構和字段

Golang 中的匿名結構是沒有名稱的一次性臨時結構,而匿名欄位允許嵌入未命名的欄位。

如何在 Golang 中使用 Rune

如何在 Golang 中使用 Rune

Golang 中的 Runes 是什麼?如何在 Golang 中使用 Rune?文章會告訴你答案。

如何在 Golang 中使用運算符

如何在 Golang 中使用運算符

運算符允許我們對操作數執行不同類型的操作。在 Go語言中,運算子可以根據其不同的功能進行分類。

Golang 中的 Void 標識符

Golang 中的 Void 標識符

Golang 中的 _(底線)稱為空白標識符。標識符是程式組件的使用者定義名稱,用於識別目的。

如何用 Golang 創建基本程序

如何用 Golang 創建基本程序

你好世界!是任何程式語言中的第一個基本程式。您可以按照以下步驟使用 Golang 編寫第一個程式。

如何在 Windows 上安裝 Go

如何在 Windows 上安裝 Go

Golang 可以輕鬆安裝在 Windows 上。以下是在 Windows 上安裝 Golang 的詳細逐步指南。

普通電視和智慧電視的差別

普通電視和智慧電視的差別

智慧電視確實風靡全球。憑藉如此多的強大功能和互聯網連接,科技改變了我們觀看電視的方式。

為什麼冷凍室沒有燈,冷藏室有燈?

為什麼冷凍室沒有燈,冷藏室有燈?

冰箱是家庭中常見的家用電器。冰箱通常有 2 個隔間,冷藏室寬敞,並且每次使用者打開時都會自動亮燈,而冷凍室狹窄且沒有燈。

解決 Wi-Fi 速度變慢的網路擁塞問題的 2 種方法

解決 Wi-Fi 速度變慢的網路擁塞問題的 2 種方法

除了路由器、頻寬和乾擾之外,Wi-Fi 網路還受到許多因素的影響,但也有一些智慧的方法可以增強您的網路效能。

如何使用 Tenorshare Reiboot 將 iOS 17 降級到 iOS 16 且不遺失數據

如何使用 Tenorshare Reiboot 將 iOS 17 降級到 iOS 16 且不遺失數據

如果您想在手機上恢復穩定的 iOS 16,這裡是卸載 iOS 17 並從 iOS 17 降級到 16 的基本指南。

每天吃優​​格會對身體產生什麼影響?

每天吃優​​格會對身體產生什麼影響?

酸奶是一種美妙的食物。每天吃優​​格好嗎?每天吃酸奶,你的身體會發生怎樣的變化?讓我們一起來了解一下吧!

哪種米最有益於健康?

哪種米最有益於健康?

本文討論了最有營養的米種類以及如何最大限度地發揮所選米的健康益處。

如何早上準時起床

如何早上準時起床

制定睡眠時間表和就寢習慣、更改鬧鐘以及調整飲食都是可以幫助您睡得更好、早上準時起床的一些措施。

玩 Rent Please! 的提示新手模擬房東

玩 Rent Please! 的提示新手模擬房東

請租用! Landlord Sim 是一款適用於 iOS 和 Android 的模擬手機遊戲。您將扮演一個公寓大樓的房東,開始出租公寓,目標是升級公寓的內部並為租戶做好準備。

最新浴室塔防代碼及代碼輸入方法

最新浴室塔防代碼及代碼輸入方法

取得浴室塔防 Roblox 遊戲代碼並兌換令人興奮的獎勵。它們將幫助您升級或解鎖具有更高傷害的塔。

變壓器的結構、符號和工作原理

變壓器的結構、符號和工作原理

讓我們以最準確的方式了解變壓器的結構、符號和運作原理。

人工智慧讓智慧電視更上一層樓的四種方式

人工智慧讓智慧電視更上一層樓的四種方式

從更好的影像和聲音品質到語音控制等等,這些人工智慧功能讓智慧電視變得更好!

為什麼 ChatGPT 比 DeepSeek 更好

為什麼 ChatGPT 比 DeepSeek 更好

最初,人們對DeepSeek寄予厚望。作為 ChatGPT 強勁競爭對手的 AI 聊天機器人,它承諾提供智慧聊天功能和體驗。

認識 Fireflies.ai:免費的 AI 秘書,幫你節省大量工作時間

認識 Fireflies.ai:免費的 AI 秘書,幫你節省大量工作時間

在記下其他重要事項時很容易錯過重要細節,而在聊天時記筆記可能會分散注意力。 Fireflies.ai 就是解決方案。

如何飼養 Minecraft 中的美西蠑螈,馴服 Minecraft 中的蠑螈

如何飼養 Minecraft 中的美西蠑螈,馴服 Minecraft 中的蠑螈

如果玩家知道如何使用 Axolot Minecraft,它將成為玩家在水下操作時的絕佳助手。

《噤界:前路》PC遊戲配置

《噤界:前路》PC遊戲配置

《寂靜之地:前路》的配置評價相當高,因此您需要在決定下載之前考慮其配置。