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

标签 go

我从 strings 包中了解 ToUpper 和 ToLower,但显然它们在这里无济于事。是否有内置函数,还是我必须自己编写一个?

最佳答案

你需要自己写一个,但是构建 block 已经在标准库中了:

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)
}

关于go - 如何反转字符串中每个字母的大小写?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/38234029/

相关文章:

database - boltdb 是否支持并发查询来读取和更新数据库?

windows - 戈朗 : winapi call with struct parameter

macos - OSX 10.10.2 - cmd 启动未定义显示

转到 : Deadlock issue with go channel and select

go - 无法在 Mac OS X 10.6.7 上编译 Go 语言

string - 调用带有特殊前缀/后缀的函数

从 json 转换 int 的 Golang json 错误

go - 如何使用 slice 作为参数从 Go 调用 Rust 函数?

go - 哪个包包含golang中的合并功能

Go:在 Hello World 中导入错误