How to reverse a string in Go?

前端 未结 28 1992
天涯浪人
天涯浪人 2020-12-04 06:45

How can we reverse a simple string in Go?

28条回答
  •  感动是毒
    2020-12-04 07:23

    A version which I think works on unicode. It is built on the utf8.Rune functions:

    func Reverse(s string) string {
        b := make([]byte, len(s));
        for i, j := len(s)-1, 0; i >= 0; i-- {
            if utf8.RuneStart(s[i]) {
                rune, size := utf8.DecodeRuneInString(s[i:len(s)]);
                utf8.EncodeRune(rune, b[j:j+size]);
                j += size;
            }
        }
        return string(b);
    }
    

提交回复
热议问题