首頁 > 後端開發 > Golang > 如何存取 Go 字串中的單一字元而不是數值?

如何存取 Go 字串中的單一字元而不是數值?

DDD
發布: 2024-12-13 03:13:13
原創
517 人瀏覽過

How to Access Individual Characters in a Go String Instead of Their Numerical Values?

存取Go 字串中的字元

本題探討如何存取Go 字串中的字符,深入研究字串作為切片的本質位元組數以及字元、符文和Unicode 代碼點之間的關係。

原始問:

如何在存取「HELLO」[1]時取得「E」字元而不是數值 69?

答案:

要從字串中檢索字符,必須了解 Go 的字符表示。解釋後的字串文字是以 UTF-8 編碼的字元序列,其中 ASCII 字元僅佔用一個位元組。因此,要獲得“E”字符,需要進行以下轉換:

fmt.Println(string("Hello"[1])) // ASCII only
登入後複製

替代:使用符文

對於Unicode 支持,符文代表Unicode碼點,可以使用。這些與 UTF-8 字串相容:

fmt.Println(string([]rune("Hello, 世界")[1])) // UTF-8
登入後複製

此程式碼將輸出「e」字元。

Go 的字元處理功能

值得注意的是,Go 提供了字元和位元組之間轉換的函數。例如,byte(c) 方法將字元(rune)轉換為對應的位元組,而 rune(b) 將位元組轉換為字元。

其他閱讀:

  • [Go 程式語言規範部分轉換](https://go.dev/ref/spec#Conversions)
  • [Go 部落格:Go 中的字串、位元組、符文和字元](https://blog.golang.org/strings )

以上是如何存取 Go 字串中的單一字元而不是數值?的詳細內容。更多資訊請關注PHP中文網其他相關文章!

來源:php.cn
本網站聲明
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn
熱門教學
更多>
最新下載
更多>
網站特效
網站源碼
網站素材
前端模板