Golang實(shí)現(xiàn)將中文轉(zhuǎn)化為拼音
導(dǎo)語:新用戶入職 創(chuàng)建一系列賬號(hào)比較麻煩,打算通過接口傳入姓名進(jìn)行初始化。想把姓名轉(zhuǎn)化成拼音。因?yàn)橛行┵~號(hào)即需要中文也需要英文。
官方demo 參考了github.com/mozillazg/go-pinyin
搜到github.com/Chain-Zhang/pinyin的資料多一點(diǎn),但貌似不維護(hù)了。
package main
import (
"fmt"
"github.com/mozillazg/go-pinyin"
)
func main() {
hans := "中國人"
// 默認(rèn)
a := pinyin.NewArgs()
fmt.Println(pinyin.Pinyin(hans, a))
// [[zhong] [guo] [ren]]
// 包含聲調(diào)
a.Style = pinyin.Tone
fmt.Println(pinyin.Pinyin(hans, a))
// [[zhōng] [guó] [rén]]
// 聲調(diào)用數(shù)字表示
a.Style = pinyin.Tone2
fmt.Println(pinyin.Pinyin(hans, a))
// [[zho1ng] [guo2] [re2n]]
// 開啟多音字模式
a = pinyin.NewArgs()
a.Heteronym = true
fmt.Println(pinyin.Pinyin(hans, a))
// [[zhong zhong] [guo] [ren]]
a.Style = pinyin.Tone2
fmt.Println(pinyin.Pinyin(hans, a))
// [[zho1ng zho4ng] [guo2] [re2n]]
fmt.Println(pinyin.LazyPinyin(hans, pinyin.NewArgs()))
// [zhong guo ren]
fmt.Println(pinyin.Convert(hans, nil))
// [[zhong] [guo] [ren]]
fmt.Println(pinyin.LazyConvert(hans, nil))
// [zhong guo ren]
}
我想要的是后期把中文傳入并轉(zhuǎn)換成拼音 類似于用戶名。
創(chuàng)建main.go
package main
import (
"fmt"
"github.com/mozillazg/go-pinyin"
"strings"
"reflect"
"github.com/astaxie/beego"
)
func main() {
hans := "中國人"
a := pinyin.LazyConvert(hans, nil)
// [zhong guo ren]
var test []string = []string{}
for a, v := range a{
beego.Info(v)
beego.Info(a)
if a == 0 {
test = append(test, v)
} else {
test = append(test, ",")
test = append(test, v)
}
}
beego.Info("處理1")
beego.Info(test)
// 通過這一條處理 strings.Trim
result := strings.Trim(fmt.Sprint(test), "[]")
// result := strings.Replace(strings.Trim(fmt.Sprint(test), "[]"), " ", ",", -1)
beego.Info(result)
beego.Info(reflect.TypeOf(result))
result2 := strings.Replace(result, " , ", "", -1)
beego.Info(result2)
// zhongguoren
}
go get -u github.com/mozillazg/go-pinyin go run main.go
結(jié)果圖

到此這篇關(guān)于Golang實(shí)現(xiàn)將中文轉(zhuǎn)化為拼音的文章就介紹到這了,更多相關(guān)Golang中文轉(zhuǎn)拼音內(nèi)容請搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!
相關(guān)文章
深入理解Go Gin框架中間件的實(shí)現(xiàn)原理
在Go Gin框架中,中間件是一種在請求處理過程中插入的功能模塊,它可以用于處理請求的前置和后置邏輯,例如認(rèn)證、日志記錄、錯(cuò)誤處理等,本文將給大家介紹一下Go Gin框架中間件的實(shí)現(xiàn)原理,需要的朋友可以參考下2023-09-09
在ubuntu下安裝go開發(fā)環(huán)境的全過程
Go語言是谷歌公司開發(fā)的編程語言,雖然安裝和配置go很簡單,但是很多初學(xué)者在第一次安裝go環(huán)境時(shí)會(huì)遇到各種坑,下面這篇文章主要給大家介紹了關(guān)于在ubuntu下安裝go開發(fā)環(huán)境的相關(guān)資料,文中通過圖文介紹的非常詳細(xì),需要的朋友可以參考下2022-08-08
go語言實(shí)現(xiàn)銀行卡號(hào)Luhn校驗(yàn)
這篇文章主要為大家介紹了go語言Luhn校驗(yàn)測試銀行卡號(hào)碼的示例詳解,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進(jìn)步,早日升職加薪2022-05-05

