Golang 字串中的字元索引
Go 字串表示為 UTF-8 編碼中的位元組序列。若要存取可能佔用多個位元組的單一字符,可以利用字串或 []rune 轉換。
存取 ASCII 字元
在範例中:
fmt.Print("HELLO"[1])
存取字串「HELLO」索引 1 處的字元。由於 ASCII 字元僅佔用一個位元組,因此結果為位元組值 69。
將位元組轉換為字元
要取得實際的字元值,可以將位元組轉換到一個字串。這可確保正確的UTF-8 處理:
fmt.Println(string("Hello"[1])) // ASCII only
存取Unicode 字元
對於可以跨越多個位元組的Unicode 字符,需要[]rune 轉換:
fmt.Println(string([]rune("Hello, 世界")[1])) // UTF-8
將符文轉換為位元組
要將符文轉換回位元組切片,可以將其作為參數傳遞給[]byte:
fmt.Println(string([]byte("Hello"))) // ASCII only
參考文獻:
以上是如何有效率地存取和轉換Go字串中的字元?的詳細內容。更多資訊請關注PHP中文網其他相關文章!