Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/string/5.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
String 为unicode字母编写toUpper函数_String_Unicode_Go - Fatal编程技术网

String 为unicode字母编写toUpper函数

String 为unicode字母编写toUpper函数,string,unicode,go,String,Unicode,Go,从这里开始(就在容量部分之前) 类型路径[]字节 func(p路径)ToUpper(){ 对于i,b:=范围p{ 如果“a”使用unicode时应使用rune。golang中的unicode包具有ToUper功能 package main import ( "unicode" "fmt" ) type path []rune func (p path) ToUpper() { for i, b := range p { p[i] = unicode.

从这里开始(就在容量部分之前)

类型路径[]字节
func(p路径)ToUpper(){
对于i,b:=范围p{

如果“a”使用unicode时应使用
rune
。golang中的
unicode
包具有ToUper功能

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)
}
在操场上:

当您使用unicode时,您应该使用
rune
。golang中的
unicode
包有一个touper函数

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)
}
在操场上:

您可以使用
strings.Map
将函数应用于字符串的每个符文,并返回映射的字符串


您可以使用
strings.Map
将函数应用于字符串的每个符文,并返回映射的字符串


它是否支持多字符替换,如
ß
SS
?或只使用(或查看源代码)字符串。ToUpper
。这被列为“高级练习”在你链接到的文档中,询问答案就像让其他人为你做作业一样。@dan04在操场上不起作用,所以猜不到:/@dan04查看后续博文:了解有关Unicode和Go的更多信息。但简短的答案是
Unicode。ToUpper
获取一个符文并返回一个符文,因此它不可能转换一个符文到几个。@aubble,sortof,实际的
strings.ToUpper
函数实际上就是
func-ToUpper(s-string)string{return-Map(unicode.ToUpper,s)}
strings.Map
函数并不坏。
strings
标准软件包是学习习惯用法的好地方(大多数情况下,角落里有一些污点)。它是否支持多字符替换,如
ß
SS
?或只使用(或查看源代码)字符串。ToUpper。这在您链接的文档中被列为“高级练习”,因此要求答案就像要求其他人为您做家庭作业一样。:)@dan04它在操场上不起作用,所以猜不到:/@dan04查看后续博客文章:了解更多关于Unicode和Go的信息。但简短的回答是
Unicode。ToUpper
获取符文并返回符文,因此它不可能将一个符文转换为多个。@aubble,sortof,实际的
字符串。Touper
函数实际上就是
func ToUpper(s string)string{return Map(unicode.ToUpper,s)}
strings.Map
函数也不错。标准软件包是一个很好的学习习惯用法的地方,它可以做得很好(大多数情况下,有一些缺点)。
package main

import (
    "fmt"
    "strings"
    "unicode"
)

func main() {
    pathName := strings.Map(unicode.ToUpper, "/usr/bin/tso")
    fmt.Printf("%s\n", pathName)
}