string[]bytestring
// 截取字符串前三位 str := "fidding" str = string([]byte(str)[:3]) // 结果为 "fid" fmt.Println(str)
[startIndex:endIndex]startIndex<=n
不要以为这样就解决了字符串截取问题,当遇到中文时,上面的代码便行不通了,因为中文在golang是3个字符。
rune
将上面的代码修改如下:
// 截取字符串前三位 str := "你好fidding" str = string([]rune(str)[0:3]) // 结果为 "你好f" fmt.Println(str)
golang[:][:-1]
// 截取字符串后三位 str := "fidding你好" str = string([]rune(str)[len([]rune(str))-3:]) // 结果为 "g你好" fmt.Println(str)