package textcomparison import ( "fmt" "strings" "github.com/Chain-Zhang/pinyin" ) /* * @ 作者: 秦东 @ 时间: 2022-09-30 16:00:42 @ 功能: 中文转拼音 @ 参数 #text 中文 @ 返回值 #pinYinStr 拼音 #err 错误信息 */ func ChinaToPinYinFirstBig(text string) (pinYinStr string, err error) { pinYinStr, err = pinyin.New(text).Split("").Mode(pinyin.InitialsInCapitals).Convert() return } /* * @ 作者: 秦东 @ 时间: 2022-09-30 16:08:40 @ 功能: 获取首字母 @ 参数 # @ 返回值 # */ func ChinaToPinYinFirstWord(text string) (pinYinStr string, err error) { pinYinStrAll, err := pinyin.New(text).Convert() pinYinAry := strings.Split(pinYinStrAll, " ") if len(pinYinAry) < 1 { err = fmt.Errorf("转译错误!") return } for i := 0; i < len(pinYinAry); i++ { if len(pinYinAry[i]) > 0 { ziMuStr := pinYinAry[i][0] firstWord := strings.ToUpper(string(ziMuStr)) pinYinStr = fmt.Sprintf("%v%v", pinYinStr, firstWord) } } return }