text: golang.org/x/text/cases Index | Examples | Files

package cases

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

Index

Examples

Package Files

cases.go context.go fold.go info.go map.go tables.go trieval.go

Constants

const UnicodeVersion = "8.0.0"

UnicodeVersion is the Unicode version from which the tables in this package are derived.

Variables

var (
    Supported language.Coverage
)

type Caser

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.

func Fold

func Fold(opts ...Option) Caser

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.

func Lower

func Lower(t language.Tag, opts ...Option) Caser

Lower returns a Caser for language-specific lowercasing.

func Title

func Title(t language.Tag, opts ...Option) Caser

Title returns a Caser for language-specific title casing. It uses an approximation of the default Unicode Word Break algorithm.

func Upper

func Upper(t language.Tag, opts ...Option) Caser

Upper returns a Caser for language-specific uppercasing.

func (Caser) Bytes

func (c Caser) Bytes(b []byte) []byte

Bytes returns a new byte slice with the result of converting b to the case form implemented by c.

func (Caser) Reset

func (c Caser) Reset()

Reset resets the Caser to be reused for new input after a previous call to Transform.

func (Caser) String

func (c Caser) String(s string) string

String returns a string with the result of transforming s to the case form implemented by c.

func (Caser) Transform

func (c Caser) Transform(dst, src []byte, atEOF bool) (nDst, nSrc int, err error)

Transform implements the Transformer interface and transforms the given input to the case form implemented by c.

type Option

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.