如何反转字符串中每个字母的大小写?

时间:2016-07-06 21:25:03

标签: go

我从字符串包中知道ToUpper和ToLower,但显然他们在这里没有帮助。是否有内置功能或者我必须自己写一个?

1 个答案:

答案 0 :(得分:9)

您需要自己编写一个,但构建块已经在标准库中了:

func swapCase(s string) string {
    return strings.Map(func(r rune) rune {
        switch {
        case unicode.IsLower(r):
            return unicode.ToUpper(r)
        case unicode.IsUpper(r):
            return unicode.ToLower(r)
        }
        return r
    }, s)
}