import "golang.org/x/text/cases"
Package cases provides general and language-specific case mappers.
Code:
src := []string{
"hello world!",
"i with dot",
"'n ijsberg",
"here comes O'Brian",
}
for _, c := range []cases.Caser{
cases.Lower(language.Und),
cases.Upper(language.Turkish),
cases.Title(language.Dutch),
cases.Title(language.Und, cases.NoLower),
} {
fmt.Println()
for _, s := range src {
fmt.Println(c.String(s))
}
}
Output:
hello world! i with dot 'n ijsberg here comes o'brian HELLO WORLD! İ WİTH DOT 'N İJSBERG HERE COMES O'BRİAN Hello World! I With Dot 'n IJsberg Here Comes O'brian Hello World! I With Dot 'N Ijsberg Here Comes O'Brian
cases.go context.go fold.go info.go map.go tables.go trieval.go
const UnicodeVersion = "8.0.0"UnicodeVersion is the Unicode version from which the tables in this package are derived.
type Caser struct {
// contains filtered or unexported fields
}A Caser transforms given input to a certain case. It implements transform.Transformer.
A Caser may be stateful and should therefore not be shared between goroutines.
Fold returns a Caser that implements Unicode case folding. The returned Caser is stateless and safe to use concurrently by multiple goroutines.
Case folding does not normalize the input and may not preserve a normal form. Use the collate or search package for more convenient and linguistically sound comparisons. Use unicode/precis for string comparisons where security aspects are a concern.
Lower returns a Caser for language-specific lowercasing.
Title returns a Caser for language-specific title casing. It uses an approximation of the default Unicode Word Break algorithm.
Upper returns a Caser for language-specific uppercasing.
Bytes returns a new byte slice with the result of converting b to the case form implemented by c.
Reset resets the Caser to be reused for new input after a previous call to Transform.
String returns a string with the result of transforming s to the case form implemented by c.
Transform implements the Transformer interface and transforms the given input to the case form implemented by c.
type Option func(o *options)
An Option is used to modify the behavior of a Caser.
var (
// NoLower disables the lowercasing of non-leading letters for a title
// caser.
NoLower Option = noLower
// Compact omits mappings in case folding for characters that would grow the
// input. (Unimplemented.)
Compact Option = compact
)Package cases imports 6 packages (graph) and is imported by 3 packages. Updated 6 days ago. Refresh now. Tools for package owners.