感觉go语言太朴素了啊,比起java一堆辅助函数与越来越多的语法糖,go连个三元运算符和字符串处理的一些函数都没有
反转字符串
func reverseString(s string) string {
runes := []rune(s)
for st, ed := 0, len(runes)-1; st < ed; from, ed = st +1, ed -1 {
runes[st], runes[ed] = runes[ed], runes[st]
}
return string(runes)
}
使用runs切片是防止utf-8(int 32)的汉字对下标造成影响,因为一个汉字占3个字节,go的翻转还是蛮高效的
其他的字符串处理介绍可以看下面这帖子,总结得挺好的