gpt4 book ai didi

string - 为 unicode 字母写一个 toUpper 函数

转载 作者:IT王子 更新时间:2023-10-29 02:30:09 26 4
gpt4 key购买 nike

从这里http://blog.golang.org/slices (就在容量部分之前)

type path []byte

func (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 中的 slice 和其他内容。这是一个转换ascii字符的函数。您将如何着手将此功能也用于处理 unicode?

最佳答案

当你使用 unicode 时,你应该使用 rune。 golang中的unicode包有一个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)
}

在 Playground 上: example

关于string - 为 unicode 字母写一个 toUpper 函数,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/29202849/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com