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)