如何在 Golang 中使用 Rune

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

如何在 Golang 中使用 Rune

過去,我們只有一個字元集,它被稱為 ASCII(美國資訊交換標準代碼)。然後我們用7位元來表示128個字符,包括大小寫英文字母、數字和各種標點符號以及設備控製字符。由於這種字元限制,大多數人無法使用他們的自訂書寫系統。為了解決這個問題,Unicode 誕生了。 Unicode 是 ASCII 的超集,包含當今世界上書寫系統的所有字元。它包括重音符號、變音符號、製表符和換行符等控制代碼,為每個字元分配一個標準編號,稱為“Unicode 代碼點”,在 Go 中稱為“符文”。 Rune 類型是 int32 的別名。

關於 Golang Runes 的要點

  • 永遠記住,字串是位元組序列,而不是符文。字串可以包含以 UTF-8 編碼的 Unicode 文字。但是Go原始碼是用UTF-8編碼的,所以不需要用UTF-8對字串進行編碼。
  • UTF-8 將所有 Unicode 編碼在 1 到 4 個位元組的範圍內,其中 1 個位元組用於 ASCII,其餘位元組用於 Runes。
  • ASCII 總共包含 256 個元素,其中 128 個為字符,0-127 定義為代碼點。這裡,代碼點是指代表單一值的元素。

例如:

這是一個十六進制值為♄的符文。

符文的真正意義

它表示一個 Rune 常數,其中一個整數值標識一個 Unicode 代碼點。在 Go 語言中,Rune Literal 表示為一個或多個用括號括起來的字符,如 'g'、'\t' 等。在括號之間,可以放置除換行符和未轉義的括號之外的任何字元。這裡,這些括號內的字元代表給定字元本身的 Unicode 值,而帶有反斜線(在多字串的開頭)的多字串則以不同的格式對這些值進行編碼。在 Rune Literal 中,所有以反斜線開頭的字串都是無效的,只有以下單一轉義字元在與反斜線一起使用時代表特殊值:

特點 Unicode 描述
\一個 U+0007 警報或鈴聲
\b U+0008 退格鍵
\f U+000C 表單數據
\n U+000A 換行或換行
\r U+000D 返回行首
\t U+0009 水平製表符
\v U+000b 垂直製表符
\\ U+005c 反斜線
\' U+0027 撇號
\” U+0022 雙引號(僅在字串中有效)

例如:

//Minh họa chương trình Go đơn giản về cách tạo một rune
package main

import (
	"fmt"
	"reflect"
)

func main() {

	// Tạo một rune
	rune1 := 'B'
	rune2 := 'g'
	rune3 := '\a'

	// Hiện rune và kiểu của nó
	fmt.Printf("Rune 1: %c; Unicode: %U; Type: %s", rune1,
							rune1, reflect.TypeOf(rune1))
	
	fmt.Printf("\nRune 2: %c; Unicode: %U; Type: %s", rune2,
							rune2, reflect.TypeOf(rune2))
	
	fmt.Printf("\nRune 3: Unicode: %U; Type: %s", rune3, 
								reflect.TypeOf(rune3))

}

結果:

Rune 1: B; Unicode: U+0042; Type: int32
Rune 2: g; Unicode: U+0067; Type: int32
Rune 3: Unicode: U+0007; Type: int32

範例 2:

如何在 Golang 中使用 Rune

結果:

Character: ♛, Unicode:U+265B, Position:0 
Character: ♠, Unicode:U+2660, Position:1 
Character: ♧, Unicode:U+2667, Position:2 
Character: ♡, Unicode:U+2661, Position:3 
Character: ♬, Unicode:U+266C, Position:4 
Sign up and earn $1000 a day ⋙

Leave a Comment

如何在 Golang 中使用常數

如何在 Golang 中使用常數

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

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 中使用運算符

如何在 Golang 中使用運算符

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

Golang 中的 Void 標識符

Golang 中的 Void 標識符

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

如何用 Golang 創建基本程序

如何用 Golang 創建基本程序

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

如何在 Windows 上安裝 Go

如何在 Windows 上安裝 Go

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

2025 年最適合學生的筆記型電腦

2025 年最適合學生的筆記型電腦

學生需要一台特定類型的筆記型電腦來學習。它不僅要性能強大,能夠出色地完成所選專業,還要小巧輕便,方便全天攜帶。

如何在 Windows 10 中新增印表機

如何在 Windows 10 中新增印表機

在 Windows 10 中新增印表機很簡單,儘管有線設備的過程與無線設備的過程不同。

如何以最高的準確率檢查電腦上的 RAM 和 RAM 錯誤

如何以最高的準確率檢查電腦上的 RAM 和 RAM 錯誤

眾所周知,RAM 是電腦中非常重要的硬體部件,它充當處理資料的內存,並且是決定筆記型電腦或 PC 速度的關鍵因素。在下面的文章中,WebTech360 將向您介紹一些在 Windows 上使用軟體檢查 RAM 錯誤的方法。

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

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

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

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

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

冰箱是家庭中常見的家用電器。冰箱通常有 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 聊天機器人,它承諾提供智慧聊天功能和體驗。