[go]高效翻转字符串

感觉go语言太朴素了啊,比起java一堆辅助函数与越来越多的语法糖,go连个三元运算符和字符串处理的一些函数都没有 :bugaoxing:

反转字符串

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的翻转还是蛮高效的

其他的字符串处理介绍可以看下面这帖子,总结得挺好的

知乎大佬总结的go字符串处理

点赞

发表评论

电子邮件地址不会被公开。必填项已用 * 标注