正如这里建议的,人名应该大写,比如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.English
或language.AmericanEnglish
或其他?
到目前为止,就像是strings.Title()
在使用Und
或English
?
go ×1