mirror of
https://github.com/tengge1/ShadowEditor.git
synced 2026-01-25 15:08:11 +00:00
pinyin helper
This commit is contained in:
parent
454226ab72
commit
7b968152fb
@ -14,6 +14,7 @@ require (
|
||||
github.com/klauspost/compress v1.10.3 // indirect
|
||||
github.com/mitchellh/go-homedir v1.1.0
|
||||
github.com/mitchellh/mapstructure v1.2.2 // indirect
|
||||
github.com/mozillazg/go-pinyin v0.16.0
|
||||
github.com/onsi/ginkgo v1.8.0 // indirect
|
||||
github.com/onsi/gomega v1.5.0 // indirect
|
||||
github.com/pelletier/go-toml v1.6.0 // indirect
|
||||
@ -24,6 +25,7 @@ require (
|
||||
github.com/spf13/jwalterweatherman v1.1.0 // indirect
|
||||
github.com/spf13/pflag v1.0.5 // indirect
|
||||
github.com/spf13/viper v1.6.2
|
||||
github.com/yanyiwu/gojieba v1.1.2 // indirect
|
||||
go.mongodb.org/mongo-driver v1.3.1
|
||||
golang.org/x/net v0.0.0-20200324143707-d3edc9973b7e
|
||||
golang.org/x/sync v0.0.0-20200317015054-43a5402ce75a // indirect
|
||||
|
||||
@ -177,6 +177,7 @@ github.com/mattn/go-isatty v0.0.5/go.mod h1:Iq45c/XA43vh69/j3iqttzPXn0bhXyGjM0Hd
|
||||
github.com/mattn/go-isatty v0.0.7/go.mod h1:Iq45c/XA43vh69/j3iqttzPXn0bhXyGjM0Hdxcsrc5s=
|
||||
github.com/mattn/go-isatty v0.0.8/go.mod h1:Iq45c/XA43vh69/j3iqttzPXn0bhXyGjM0Hdxcsrc5s=
|
||||
github.com/mattn/go-isatty v0.0.9/go.mod h1:YNRxwqDuOph6SZLI9vUUz6OYw3QyUt7WiY2yME+cCiQ=
|
||||
github.com/mattn/go-isatty v0.0.10/go.mod h1:qgIWMr58cqv1PHHyhnkY9lrL7etaEgOFcMEpPG5Rm84=
|
||||
github.com/matttproud/golang_protobuf_extensions v1.0.1 h1:4hp9jkHxhMHkqkrB3Ix0jegS5sx/RkqARlsWZ6pIwiU=
|
||||
github.com/matttproud/golang_protobuf_extensions v1.0.1/go.mod h1:D8He9yQNgCq6Z5Ld7szi9bcBfOoFv/3dc6xSMkL2PC0=
|
||||
github.com/mitchellh/go-homedir v1.1.0 h1:lukF9ziXFxDFPkA1vsr5zpc1XuPDn/wFntq5mG+4E0Y=
|
||||
@ -186,6 +187,8 @@ github.com/mitchellh/mapstructure v1.1.2/go.mod h1:FVVH3fgwuzCH5S8UJGiWEs2h04kUh
|
||||
github.com/mitchellh/mapstructure v1.2.2 h1:dxe5oCinTXiTIcfgmZecdCzPmAJKd46KsCWc35r0TV4=
|
||||
github.com/mitchellh/mapstructure v1.2.2/go.mod h1:bFUtVrKA4DC2yAKiSyO/QUcy7e+RRV2QTWOzhPopBRo=
|
||||
github.com/montanaflynn/stats v0.0.0-20171201202039-1bf9dbcd8cbe/go.mod h1:wL8QJuTMNUDYhXwkmfOly8iTdp5TEcJFWZD2D7SIkUc=
|
||||
github.com/mozillazg/go-pinyin v0.16.0 h1:QjOLwdElImhQd8qkFZtzRjaa6mmeWAi43cXV5qUFGJ8=
|
||||
github.com/mozillazg/go-pinyin v0.16.0/go.mod h1:AXvf5sdmrjjWIzV1VcaPD6Y57FwFsaqd2OP67HM2cf4=
|
||||
github.com/mwitkow/go-conntrack v0.0.0-20161129095857-cc309e4a2223/go.mod h1:qRWi+5nqEBWmkhHvq77mSJWrCKwh8bxhgT7d/eI7P4U=
|
||||
github.com/oklog/ulid v1.3.1/go.mod h1:CirwcVhetQ6Lv90oh/F+FBtV6XMibvdAFo93nm5qn4U=
|
||||
github.com/onsi/ginkgo v1.6.0/go.mod h1:lLunBs/Ym6LB5Z9jYTR76FiuTmxDTDusOGeTQH+WWjE=
|
||||
@ -284,6 +287,10 @@ github.com/xdg/stringprep v0.0.0-20180714160509-73f8eece6fdc h1:n+nNi93yXLkJvKwX
|
||||
github.com/xdg/stringprep v0.0.0-20180714160509-73f8eece6fdc/go.mod h1:Jhud4/sHMO4oL310DaZAKk9ZaJ08SJfe+sJh0HrGL1Y=
|
||||
github.com/xiang90/probing v0.0.0-20190116061207-43a291ad63a2/go.mod h1:UETIi67q53MR2AWcXfiuqkDkRtnGDLqkBTpCHuJHxtU=
|
||||
github.com/xordataexchange/crypt v0.0.3-0.20170626215501-b2862e3d0a77/go.mod h1:aYKd//L2LvnjZzWKhF00oedf4jCCReLcmhLdhm1A27Q=
|
||||
github.com/yanyiwu/gojieba v1.1.0 h1:rx+kNP0L7zn+4Zyo1d8aLCfXt3BmIkWQ26FCbGnw1bc=
|
||||
github.com/yanyiwu/gojieba v1.1.0/go.mod h1:0AAj9tOG6WWXQ5FNffl4ruBy/hP7bHl2gs+YiDi1aYs=
|
||||
github.com/yanyiwu/gojieba v1.1.2 h1:BMwKCwg3G+Nw/Ctqzm/gNgN/6Ljf0Y4f7ddKlzTA+TM=
|
||||
github.com/yanyiwu/gojieba v1.1.2/go.mod h1:54wkP7sMJ6bklf7yPl6F+JG71dzVUU1WigZbR47nGdY=
|
||||
github.com/zenazn/goji v0.9.0/go.mod h1:7S9M489iMyHBNxwZnk9/EHS098H4/F6TATF2mIxtB1Q=
|
||||
go.etcd.io/bbolt v1.3.2/go.mod h1:IbVyRI1SCnLcuJnV2u8VeU0CEYM7e686BmAb1XKL+uU=
|
||||
go.mongodb.org/mongo-driver v1.3.1 h1:op56IfTQiaY2679w922KVWa3qcHdml2K/Io8ayAOUEQ=
|
||||
@ -341,6 +348,7 @@ golang.org/x/sys v0.0.0-20190531175056-4c3a928424d2/go.mod h1:h1NjWce9XRLGQEsW7w
|
||||
golang.org/x/sys v0.0.0-20190813064441-fde4db37ae7a/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs=
|
||||
golang.org/x/sys v0.0.0-20190826190057-c7b8b68b1456/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs=
|
||||
golang.org/x/sys v0.0.0-20191005200804-aed5e4c7ecf9/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs=
|
||||
golang.org/x/sys v0.0.0-20191008105621-543471e840be/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs=
|
||||
golang.org/x/sys v0.0.0-20200323222414-85ca7c5b95cd/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs=
|
||||
golang.org/x/sys v0.0.0-20200327173247-9dae0f8f5775 h1:TC0v2RSO1u2kn1ZugjrFXkRZAEaqMN/RW+OTZkBzmLE=
|
||||
golang.org/x/sys v0.0.0-20200327173247-9dae0f8f5775/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs=
|
||||
|
||||
1
ShadowEditor.Server.Go/helper/download.go
Normal file
1
ShadowEditor.Server.Go/helper/download.go
Normal file
@ -0,0 +1 @@
|
||||
package helper
|
||||
1
ShadowEditor.Server.Go/helper/download_test.go
Normal file
1
ShadowEditor.Server.Go/helper/download_test.go
Normal file
@ -0,0 +1 @@
|
||||
package helper
|
||||
1
ShadowEditor.Server.Go/helper/http.go
Normal file
1
ShadowEditor.Server.Go/helper/http.go
Normal file
@ -0,0 +1 @@
|
||||
package helper
|
||||
1
ShadowEditor.Server.Go/helper/http_test.go
Normal file
1
ShadowEditor.Server.Go/helper/http_test.go
Normal file
@ -0,0 +1 @@
|
||||
package helper
|
||||
26
ShadowEditor.Server.Go/helper/pinyin.go
Normal file
26
ShadowEditor.Server.Go/helper/pinyin.go
Normal file
@ -0,0 +1,26 @@
|
||||
package helper
|
||||
|
||||
import (
|
||||
"github.com/mozillazg/go-pinyin"
|
||||
)
|
||||
|
||||
// ConvertToPinYin 汉字转拼音
|
||||
func ConvertToPinYin(text string) (model PinYinModel) {
|
||||
args := pinyin.NewArgs()
|
||||
pinyin := pinyin.LazyPinyin(text, args)
|
||||
|
||||
for _, item := range pinyin {
|
||||
model.TotalPinYin = append(model.TotalPinYin, item)
|
||||
model.FirstPinYin = append(model.FirstPinYin, string(item[0]))
|
||||
}
|
||||
|
||||
return
|
||||
}
|
||||
|
||||
// PinYinModel 返回拼音模型
|
||||
type PinYinModel struct {
|
||||
// TotalPinYin 全拼
|
||||
TotalPinYin []string
|
||||
// FirstPinYin 首拼
|
||||
FirstPinYin []string
|
||||
}
|
||||
18
ShadowEditor.Server.Go/helper/pinyin_test.go
Normal file
18
ShadowEditor.Server.Go/helper/pinyin_test.go
Normal file
@ -0,0 +1,18 @@
|
||||
package helper
|
||||
|
||||
import "testing"
|
||||
|
||||
func TestConvertToPinYin(t *testing.T) {
|
||||
text := "中国人"
|
||||
pinyin := ConvertToPinYin(text)
|
||||
|
||||
if pinyin.FirstPinYin[0] != "z" || pinyin.FirstPinYin[1] != "g" || pinyin.FirstPinYin[2] != "r" {
|
||||
t.Errorf("first pinyin should be `z` `g` `r`, get `%v` `%v` `%v`", pinyin.FirstPinYin[0], pinyin.FirstPinYin[1], pinyin.FirstPinYin[2])
|
||||
return
|
||||
}
|
||||
|
||||
if pinyin.TotalPinYin[0] != "zhong" || pinyin.TotalPinYin[1] != "guo" || pinyin.TotalPinYin[2] != "ren" {
|
||||
t.Errorf("first pinyin should be `zhong` `guo` `ren`, get `%v` `%v` `%v`", pinyin.TotalPinYin[0], pinyin.TotalPinYin[1], pinyin.TotalPinYin[2])
|
||||
return
|
||||
}
|
||||
}
|
||||
Loading…
x
Reference in New Issue
Block a user