Documentation
¶
Overview ¶
Package pinyin : 汉语拼音转换工具
Index ¶
Examples ¶
Constants ¶
View Source
const ( Version = "0.2.1" Author = "mozillazg, 闲耘" License = "MIT" Copyright = "Copyright (c) 2014 mozillazg, 闲耘" )
Meta
View Source
const ( Normal = 0 // 普通风格,不带声调(默认风格)。如: pin yin Tone = 1 // 声调风格1,拼音声调在韵母第一个字母上。如: pīn yīn Tone2 = 2 // 声调风格2,即拼音声调在各个拼音之后,用数字 [0-4] 进行表示。如: pi1n yi1n Initials = 3 // 声母风格,只返回各个拼音的声母部分。如: 中国 的拼音 zh g FirstLetter = 4 // 首字母风格,只返回拼音的首字母部分。如: p y Finals = 5 // 韵母风格1,只返回各个拼音的韵母部分,不带声调。如: ong uo FinalsTone = 6 // 韵母风格2,带声调,声调在韵母第一个字母上。如: ōng uó FinalsTone2 = 7 // 韵母风格2,带声调,声调在各个拼音之后,用数字 [0-4] 进行表示。如: o1ng uo2 )
拼音风格(推荐)
View Source
const ( NORMAL = 0 // 普通风格,不带声调(默认风格)。如: pin yin TONE = 1 // 声调风格1,拼音声调在韵母第一个字母上。如: pīn yīn TONE2 = 2 // 声调风格2,即拼音声调在各个拼音之后,用数字 [0-4] 进行表示。如: pi1n yi1n INITIALS = 3 // 声母风格,只返回各个拼音的声母部分。如: 中国 的拼音 zh g FIRST_LETTER = 4 // 首字母风格,只返回拼音的首字母部分。如: p y FINALS = 5 // 韵母风格1,只返回各个拼音的韵母部分,不带声调。如: ong uo FINALS_TONE = 6 // 韵母风格2,带声调,声调在韵母第一个字母上。如: ōng uó FINALS_TONE2 = 7 // 韵母风格2,带声调,声调在各个拼音之后,用数字 [0-4] 进行表示。如: o1ng uo2 )
拼音风格(兼容之前的版本)
Variables ¶
View Source
var Heteronym = false
默认配置:是否启用多音字模式
View Source
var PinyinDict = map[int]string{}/* 42013 elements not displayed */
拼音库,抓取自汉典网(zdic.net)。包含下列范围的 Unicode 字符:
CJK基本:[4E00-9FFF] CJK扩展A:[3400-4DBF] CJK扩展B:[20000-2A6DF] CJK扩展C:[2A700-2B73F] CJK扩展D:[2B740-2B81D] CJK兼容扩展:[2F800-2FA1F] CJK部首扩展:[2E80-2EFF] CJK笔画:[31C0-31EF] CJK康熙部首:[2F00-2FDF] CJK兼容:[F900-FAFF]
注释掉了没有拼音的字符。
View Source
var Separator = "-"
默认配置: `Slug` 中 Join 所用的分隔符
View Source
var Style = Normal
默认配置:风格
Functions ¶
func LazyPinyin ¶
LazyPinyin 汉字转拼音,与 `Pinyin` 的区别是: 返回值类型不同,并且不支持多音字模式,每个汉字只取第一个音.
Example ¶
package main
import (
"fmt"
"github.com/mozillazg/go-pinyin"
)
func main() {
hans := "中国人"
a := pinyin.NewArgs()
fmt.Println(pinyin.LazyPinyin(hans, a))
}
Output: [zhong guo ren]
func Pinyin ¶
Pinyin 汉字转拼音,支持多音字模式.
Example (Default) ¶
package main
import (
"fmt"
"github.com/mozillazg/go-pinyin"
)
func main() {
hans := "中国人"
a := pinyin.NewArgs()
fmt.Println("default:", pinyin.Pinyin(hans, a))
}
Output: default: [[zhong] [guo] [ren]]
Example (Finals) ¶
package main
import (
"fmt"
"github.com/mozillazg/go-pinyin"
)
func main() {
hans := "中国人"
a := pinyin.NewArgs()
a.Style = pinyin.Finals
fmt.Println(pinyin.Pinyin(hans, a))
}
Output: [[ong] [uo] [en]]
Example (FinalsTone) ¶
package main
import (
"fmt"
"github.com/mozillazg/go-pinyin"
)
func main() {
hans := "中国人"
a := pinyin.NewArgs()
a.Style = pinyin.FinalsTone
fmt.Println(pinyin.Pinyin(hans, a))
}
Output: [[ōng] [uó] [én]]
Example (FinalsTone2) ¶
package main
import (
"fmt"
"github.com/mozillazg/go-pinyin"
)
func main() {
hans := "中国人"
a := pinyin.NewArgs()
a.Style = pinyin.FinalsTone2
fmt.Println(pinyin.Pinyin(hans, a))
}
Output: [[o1ng] [uo2] [e2n]]
Example (FirstLetter) ¶
package main
import (
"fmt"
"github.com/mozillazg/go-pinyin"
)
func main() {
hans := "中国人"
a := pinyin.NewArgs()
a.Style = pinyin.FirstLetter
fmt.Println(pinyin.Pinyin(hans, a))
}
Output: [[z] [g] [r]]
Example (Heteronym) ¶
package main
import (
"fmt"
"github.com/mozillazg/go-pinyin"
)
func main() {
hans := "中国人"
a := pinyin.NewArgs()
a.Heteronym = true
a.Style = pinyin.Tone2
fmt.Println(pinyin.Pinyin(hans, a))
}
Output: [[zho1ng zho4ng] [guo2] [re2n]]
Example (Initials) ¶
package main
import (
"fmt"
"github.com/mozillazg/go-pinyin"
)
func main() {
hans := "中国人"
a := pinyin.NewArgs()
a.Style = pinyin.Initials
fmt.Println("Initials:", pinyin.Pinyin(hans, a))
}
Output: Initials: [[zh] [g] [r]]
Example (Normal) ¶
package main
import (
"fmt"
"github.com/mozillazg/go-pinyin"
)
func main() {
hans := "中国人"
a := pinyin.NewArgs()
a.Style = pinyin.Normal
fmt.Println("Normal:", pinyin.Pinyin(hans, a))
}
Output: Normal: [[zhong] [guo] [ren]]
Example (Tone) ¶
package main
import (
"fmt"
"github.com/mozillazg/go-pinyin"
)
func main() {
hans := "中国人"
a := pinyin.NewArgs()
a.Style = pinyin.Tone
fmt.Println("Tone:", pinyin.Pinyin(hans, a))
}
Output: Tone: [[zhōng] [guó] [rén]]
Example (Tone2) ¶
package main
import (
"fmt"
"github.com/mozillazg/go-pinyin"
)
func main() {
hans := "中国人"
a := pinyin.NewArgs()
a.Style = pinyin.Tone2
fmt.Println("Tone2:", pinyin.Pinyin(hans, a))
}
Output: Tone2: [[zho1ng] [guo2] [re2n]]
Types ¶
Click to show internal directories.
Click to hide internal directories.
