# README
go-pinyin
汉语拼音转换工具 Go 版。
Installation
go get github.com/mozillazg/go-pinyin
install CLI tool:
# go version>=1.17
go install github.com/mozillazg/go-pinyin/cli/pinyin@latest
# go version<1.17
go get -u github.com/mozillazg/go-pinyin/cli/pinyin
$ pinyin 中国人
zhōng guó rén
Documentation
API documentation can be found here: https://godoc.org/github.com/mozillazg/go-pinyin
Usage
package main
import (
"fmt"
"github.com/mozillazg/go-pinyin"
)
func main() {
hans := "中国人"
// 默认
a := pinyin.NewArgs()
fmt.Println(pinyin.Pinyin(hans, a))
// [[zhong] [guo] [ren]]
// 包含声调
a.Style = pinyin.Tone
fmt.Println(pinyin.Pinyin(hans, a))
// [[zhōng] [guó] [rén]]
// 声调用数字表示
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]
}
注意:
- 默认情况下会忽略没有拼音的字符(可以通过自定义
Fallback
参数的值来自定义如何处理没有拼音的字符, 详见 示例)。 - 根据 《汉语拼音方案》 y,w,ü (yu) 都不是声母,
以及不是所有拼音都有声母,如果这不是你预期的话,你可能需要的是首字母风格
FirstLetter
( 详细信息 )。
Related Projects
- hotoo/pinyin: 汉语拼音转换工具 Node.js/JavaScript 版。
- mozillazg/python-pinyin: 汉语拼音转换工具 Python 版。
- mozillazg/rust-pinyin: 汉语拼音转换工具 Rust 版。
pinyin data
- 使用 pinyin-data 的拼音数据
License
Under the MIT License.
# Functions
Convert 跟 Pinyin 的唯一区别就是 a 参数可以是 nil.
LazyConvert 跟 LazyPinyin 的唯一区别就是 a 参数可以是 nil.
LazyPinyin 汉字转拼音,与 `Pinyin` 的区别是: 返回值类型不同,并且不支持多音字模式,每个汉字只取第一个音.
NewArgs 返回包含默认配置的 `Args`.
Pinyin 汉字转拼音,支持多音字模式.
SinglePinyin 把单个 `rune` 类型的汉字转换为拼音.
Slug join `LazyPinyin` 的返回值.
# Constants
Meta.
Meta.
韵母风格,只返回各个拼音的韵母部分,不带声调。如: ong uo.
拼音风格(兼容之前的版本).
拼音风格(兼容之前的版本).
拼音风格(兼容之前的版本).
韵母风格1,带声调,声调在韵母第一个字母上。如: ōng uó.
韵母风格2,带声调,声调在各个韵母之后,用数字 [1-4] 进行表示。如: o1ng uo2.
韵母风格3,带声调,声调在各个拼音之后,用数字 [1-4] 进行表示。如: ong1 uo2.
拼音风格(兼容之前的版本).
首字母风格,只返回拼音的首字母部分。如: z g.
声母风格,只返回各个拼音的声母部分。如: zh g 。注意:不是所有的拼音都有声母.
拼音风格(兼容之前的版本).
Meta.
普通风格,不带声调(默认风格)。如: zhong guo.
拼音风格(兼容之前的版本).
声调风格1,拼音声调在韵母第一个字母上。如: zhōng guó.
拼音风格(兼容之前的版本).
声调风格2,即拼音声调在各个韵母之后,用数字 [1-4] 进行表示。如: zho1ng guo2.
拼音风格(兼容之前的版本).
声调风格3,即拼音声调在各个拼音之后,用数字 [1-4] 进行表示。如: zhong1 guo2.
Meta.
# Variables
Fallback 默认配置: 如何处理没有拼音的字符(忽略这个字符).
Heteronym 默认配置:是否启用多音字模式.
PinyinDict is data map Warning: Auto-generated file, don't edit.
Separator 默认配置: `Slug` 中 Join 所用的分隔符.
Style 默认配置:风格.