pinyin.go 727 B

12345678910111213141516171819202122232425262728
  1. package public
  2. import (
  3. "github.com/mozillazg/go-pinyin"
  4. "strings"
  5. )
  6. // ConvertToPinyin 接收中文姓名并返回全拼和拼音首字母
  7. func ConvertToPinyin(name string) (fullPinyin, initials string) {
  8. // 使用默认的汉字转换选项
  9. args := pinyin.NewArgs()
  10. // 获取拼音的二维数组
  11. py := pinyin.Pinyin(name, args)
  12. // 拼接全拼和首字母形式的拼音
  13. var fullPinyinList []string
  14. var initialsList []string
  15. for _, syllable := range py {
  16. fullPinyinList = append(fullPinyinList, syllable[0]) // 全拼音
  17. initialsList = append(initialsList, string(syllable[0][0])) // 首字母
  18. }
  19. fullPinyin = strings.Join(fullPinyinList, "")
  20. initials = strings.Join(initialsList, "")
  21. return
  22. }