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

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

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

Go
墨色风雨 2023-07-10 09:24:02
我需要在Go中实现python的capitalize方法。我知道首先我必须将其小写,然后再使用toTitle它。看一下示例代码:package mainimport (    "fmt"    "strings")func main() {    s := "ALIREZA"    loweredVal:=strings.ToLower(s)    fmt.Println("loweredVal:", loweredVal)    toTitle := strings.ToTitle(loweredVal)    fmt.Println("toTitle:", toTitle)}
查看完整描述

1 回答

?
慕标5832272

TA贡献1966条经验 获得超4个赞

在 Python 中,该capitalize()方法将字符串的第一个字符转换为大写字母。

如果您想用 Go 做同样的事情,您可以遍历字符串内容,然后利用unicode包方法ToUpper将字符串中的第一个符文转换为大写,然后将其转换为字符串,然后将其与其余部分连接起来原始字符串。

然而,为了您的示例,(因为您的字符串只是一个单词)

package main


import (

    "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 ""

}


查看完整回答
反对 回复 2023-07-10
  • 1 回答
  • 0 关注
  • 101 浏览
慕课专栏
更多

添加回答

举报

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