为了账号安全,请及时绑定邮箱和手机立即绑定

为 Unicode 字母编写一个 toUpper 函数

为 Unicode 字母编写一个 toUpper 函数

Go
慕村9548890 2021-09-27 10:30:38
从这里http://blog.golang.org/slices(它就在容量部分之前)type path []bytefunc (p path) ToUpper() {    for i, b := range p {        if 'a' <= b && b <= 'z' {            p[i] = b + 'A' - 'a'        }    }}func main() {    pathName := path("/usr/bin/tso")    pathName.ToUpper()    string1 := string(pathName)    fmt.Printf("%s\n", string1)}正在阅读 golang 中的切片和内容。这是一个转换 ascii 字符的函数。您将如何将此功能也用于处理 unicode?
查看完整描述

2 回答

?
呼如林

TA贡献1798条经验 获得超3个赞

rune使用unicode时应该使用。unicodegolang中的包有一个toUpper函数。


package main


import (

    "unicode"

    "fmt"

)


type path []rune


func (p path) ToUpper() {

    for i, b := range p {

        p[i] = unicode.ToUpper(b)

    }

}


func main() {

    pathName := path("/usr/bin/tso")

    pathName.ToUpper()

    string1 := string(pathName)

    fmt.Printf("%s\n", string1)

}


查看完整回答
反对 回复 2021-09-27
?
红颜莎娜

TA贡献1842条经验 获得超12个赞

您可以使用strings.Map将函数应用于字符串的每个符文,返回映射的字符串。此代码的游乐场链接:


package main


import (

    "fmt"

    "strings"

    "unicode"

)


func main() {

    pathName := strings.Map(unicode.ToUpper, "/usr/bin/tso")

    fmt.Printf("%s\n", pathName)

}


查看完整回答
反对 回复 2021-09-27
  • 2 回答
  • 0 关注
  • 173 浏览
慕课专栏
更多

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信