Golang 字串中的字元索引:UTF-8 解碼
雖然Golang 的字串文字是用UTF-8 編碼的字符序列,但索引單一字元使用類似數組的語法string[index] 通過它們的位置可能會產生意想不到的結果。這是因為 UTF-8 字元可以佔用多個位元組,而按位元組位置索引可能會破壞 UTF-8 編碼。
為了準確索引和檢索單個字符,Golang 提供了幾種選項:
使用Unicode 代碼點(符文)
範例:
package main import "fmt" func main() { fmt.Println(string([]rune("HELLO, 世界")[1])) // "E" fmt.Println(string([]rune("HELLO, 世界")[8])) // "界" }
將位元組轉換為字元
package main import "fmt" func main() { fmt.Println(string("HELLO"[1])) // "e" }
以上是如何正確索引 Go UTF-8 字串中的字元?的詳細內容。更多資訊請關注PHP中文網其他相關文章!