golang字符串截取

1 截取普通字符串 - 直接当成数组切片

str := "XHelloWorldX"
content := str[1 : len(str)-1]
fmt.Println(content)

或者 - 转换为数组(有声明内部变量)切片

s := "abcdefg"
s = string([]byte(s)[:3])
fmt.Println(s) //得到 "abc"

2 截取带中文字符串

一个中文字符肯定不止一个字节,难道我还得遍历每个字节,判断编码,那也太麻烦了吧。 我们不需要考虑那么多,除了byte还有另外一个类型rune,使用它完全不用考虑unicode字节问题,一个中文就只占一个数组下标。

str := "a中文cd"
str = string([]rune(str)[:4])
fmt.Println(str)

转载自:

https://juejin.im/post/5c8a45dee51d455bb15c2045
https://blog.csdn.net/zf766045962/article/details/90383377
原文地址:https://www.cnblogs.com/xuweiqiang/p/12558912.html