正如这里建议的,人名应该大写,比如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