为什么 Go 中 toTitle 不将小写单词大写?

我需要在Go中实现python的capitalize方法。我知道首先我必须将其小写,然后再使用toTitle它。看一下示例代码:


package main

import (

    "fmt"

    "strings"

)


func main() {

    s := "ALIREZA"

    loweredVal:=strings.ToLower(s)

    fmt.Println("loweredVal:", loweredVal)

    toTitle := strings.ToTitle(loweredVal)

    fmt.Println("toTitle:", toTitle)

}


墨色风雨
浏览 105回答 1
1回答

慕标5832272

在 Python 中,该capitalize()方法将字符串的第一个字符转换为大写字母。如果您想用 Go 做同样的事情,您可以遍历字符串内容,然后利用unicode包方法ToUpper将字符串中的第一个符文转换为大写,然后将其转换为字符串,然后将其与其余部分连接起来原始字符串。然而,为了您的示例,(因为您的字符串只是一个单词)package mainimport (    "fmt"    "strings"    "unicode")func main() {    s := "ALIREZA foo bar"    loweredVal := strings.ToLower(s)    fmt.Println("loweredVal:", loweredVal)    toTitle := capFirstChar(loweredVal)    fmt.Println("toTitle:", toTitle)}func capFirstChar(s string) string {    for index, value := range s {        return string(unicode.ToUpper(value)) + s[index+1:]    }    return ""}
打开App,查看更多内容
随时随地看视频慕课网APP

相关分类

Go