相关疑难解决方法(0)

在 Go 1.18 中 strings.Title() 已被弃用。现在该用什么?如何?

正如这里建议的,人名应该大写,比如John William Smith

我正在用 Golang 编写一个小软件,它从用户的表单输入中获取姓氏和名字。

在 Go 1.18 之前我一直在使用:

lastname = strings.Title(strings.ToLower(strings.TrimSpace(lastname)))
firstname = strings.Title(strings.ToLower(strings.TrimSpace(firstname)))
Run Code Online (Sandbox Code Playgroud)

它可以工作,但现在 Go 1.18已弃用strings.Title()

他们建议改用golang.org/x/text/cases

所以我想我应该改变我的代码,如下所示:

caser := cases.Title(language.Und)

lastname = caser.Title(strings.ToLower(strings.TrimSpace(lastname)))
firstname = caser.Title(strings.ToLower(strings.TrimSpace(firstname)))
Run Code Online (Sandbox Code Playgroud)

它的工作原理与以前相同。

区别在于荷兰语单词的标题ijsland应该是 asIJsland和 not Ijsland

问题

caser := cases.Title(language.Und)在我使用的行中Und,因为我不知道要使用什么语言标签

我应该使用language.Englishlanguage.AmericanEnglish或其他?

到目前为止,就像是strings.Title()在使用UndEnglish

go

28
推荐指数
2
解决办法
2万
查看次数

标签 统计

go ×1