我们可以在 Go 中像
'test'[0:3]
这样在 1 行代码中不使用循环来切片字符串吗?
是的。
切片表达式适用于字符串,包括字符串文字:
对于无类型字符串操作数,结果是字符串类型的非常量值。
package main
import "fmt"
func main() {
b := "Hello, 世界"[1:3]
fmt.Println(b)
// prints el
}
通常需要注意的是,对字符串进行切片适用于字符串字节。如果您对多字节符文进行切片,您将得到损坏的数据:
func main() {
b := "Hello, 世界"[8:9]
fmt.Println(b)
// prints � and not 世
}