jinzhu/inflection

GitHub: jinzhu/inflection

一个 Go 语言的英语名词单复数转换库,支持自定义规则和大小写保持,适用于 ORM 表名映射等开发场景。

Stars: 525 | Forks: 72

# 词形变化 Inflection 用于处理英语名词的单复数转换 [![构建状态](https://github.com/jinzhu/inflection/actions/workflows/go.yml/badge.svg)](https://github.com/jinzhu/inflection/actions/workflows/go.yml) ## 基本用法 ``` inflection.Plural("person") => "people" inflection.Plural("Person") => "People" inflection.Plural("PERSON") => "PEOPLE" inflection.Plural("bus") => "buses" inflection.Plural("BUS") => "BUSES" inflection.Plural("Bus") => "Buses" inflection.Singular("people") => "person" inflection.Singular("People") => "Person" inflection.Singular("PEOPLE") => "PERSON" inflection.Singular("buses") => "bus" inflection.Singular("BUSES") => "BUS" inflection.Singular("Buses") => "Bus" inflection.Plural("FancyPerson") => "FancyPeople" inflection.Singular("FancyPeople") => "FancyPerson" ``` ## 注册规则 标准规则源自 Rails 的 ActiveSupport (https://github.com/rails/rails/blob/master/activesupport/lib/active_support/inflections.rb) ``` inflection.AddUncountable("fish") inflection.AddIrregular("person", "people") inflection.AddPlural("(bu)s$", "${1}ses") // "bus" => "buses" / "BUS" => "BUSES" / "Bus" => "Buses" inflection.AddSingular("(bus)(es)?$", "${1}") // "buses" => "bus" / "Buses" => "Bus" / "BUSES" => "BUS" ``` ## 作者 **jinzhu** * * * ## 开源协议 基于 [MIT License](http://www.opensource.org/licenses/MIT) 发布。
标签:EVTX分析, 日志审计