go-汉字转拼音

这个据说经过优化,用了之后,发现需要安装 gcc ,然后debug的时候,后台在compiling,很久然后,out of memory,机器内存16G
https://github.com/struCoder/Go-pinyin

是基于这个优化后的
https://github.com/mozillazg/go-pinyin

import "github.com/mozillazg/go-pinyin"

/*
hans := "0123456789楼防区"
p1 := get_pin_yin(hans)
fmt.Println(p1)

return _0_1_2_3_4_5_6_7_8_9_lou_fang_qu
*/
func get_pin_yin(param string) string {
strRet := "_"
var strTail string
for _, val := range param {
if unicode.IsDigit(val) {
strRet += string(rune(val)) + "_"
} else {
strTail += string(rune(val))
}
}
a := pinyin.NewArgs()
pin := pinyin.Pinyin(strTail, a)

for _, val := range pin {
strRet += val[0] + "_"
}
strRet = strRet[:len(strRet)-1]
return strRet
}