go 关于 []rune() 用法介绍
时间: 2024-12-10 08:32:50 浏览: 8
`[]rune()` 是 Go 语言中的一种内置函数,它用于将字符串转换为字符切片 (slice of runes)。在 Go 中,`rune` 类型代表 Unicode 编码的一个字符。当你调用 `s := "hello"` 并随后使用 `[]rune(s)`,Go 会返回一个新的切片,其中包含了字符串 `s` 中的每个字符,如 `['h', 'e', 'l', 'l', 'o']`。
以下是 `[]rune()` 的一些常见用法:
1. **字符串转字符切片**:
```go
s := "你好"
runes := []rune(s)
fmt.Println(runes) // 输出:[2001 200a]
```
2. **遍历字符**:
```go
runes := []rune("Hello, World!")
for _, r := range runes {
fmt.Printf("%c ", r) // 打印每个字符
}
```
3. **获取长度**:
字符切片的长度等于原字符串的字符数,包括非 ASCII 字符:
```go
runes := []rune("こんにちは")
lenRunes := len(runes)
fmt.Println(lenRunes) // 输出:6
```
4. **修改单个字符**(注意这不是真正的字符串操作,而是更改了切片元素):
```go
runes := []rune("world")
runes[0] = 'W'
fmt.Println(string(runes)) // 输出:"World"
```
阅读全文