зеркало из https://github.com/golang/text.git
80 строки
1.7 KiB
Go
80 строки
1.7 KiB
Go
// Copyright 2021 The Go Authors. All rights reserved.
|
|
// Use of this source code is governed by a BSD-style
|
|
// license that can be found in the LICENSE file.
|
|
|
|
package collate_test
|
|
|
|
import (
|
|
"fmt"
|
|
|
|
"golang.org/x/text/collate"
|
|
"golang.org/x/text/language"
|
|
)
|
|
|
|
func ExampleNew() {
|
|
letters := []string{"ä", "å", "ö", "o", "a"}
|
|
|
|
ec := collate.New(language.English)
|
|
ec.SortStrings(letters)
|
|
fmt.Printf("English Sorting: %v\n", letters)
|
|
|
|
sc := collate.New(language.Swedish)
|
|
sc.SortStrings(letters)
|
|
fmt.Printf("Swedish Sorting: %v\n", letters)
|
|
|
|
numbers := []string{"0", "11", "01", "2", "3", "23"}
|
|
|
|
ec.SortStrings(numbers)
|
|
fmt.Printf("Alphabetic Sorting: %v\n", numbers)
|
|
|
|
nc := collate.New(language.English, collate.Numeric)
|
|
nc.SortStrings(numbers)
|
|
fmt.Printf("Numeric Sorting: %v\n", numbers)
|
|
// Output:
|
|
// English Sorting: [a å ä o ö]
|
|
// Swedish Sorting: [a o å ä ö]
|
|
// Alphabetic Sorting: [0 01 11 2 23 3]
|
|
// Numeric Sorting: [0 01 2 3 11 23]
|
|
}
|
|
|
|
func ExampleCollator_SortStrings() {
|
|
c := collate.New(language.English)
|
|
words := []string{"meow", "woof", "bark", "moo"}
|
|
c.SortStrings(words)
|
|
fmt.Println(words)
|
|
// Output:
|
|
// [bark meow moo woof]
|
|
}
|
|
|
|
func ExampleCollator_CompareString() {
|
|
c := collate.New(language.English)
|
|
r := c.CompareString("meow", "woof")
|
|
fmt.Println(r)
|
|
|
|
r = c.CompareString("woof", "meow")
|
|
fmt.Println(r)
|
|
|
|
r = c.CompareString("meow", "meow")
|
|
fmt.Println(r)
|
|
// Output:
|
|
// -1
|
|
// 1
|
|
// 0
|
|
}
|
|
|
|
func ExampleCollator_Compare() {
|
|
c := collate.New(language.English)
|
|
r := c.Compare([]byte("meow"), []byte("woof"))
|
|
fmt.Println(r)
|
|
|
|
r = c.Compare([]byte("woof"), []byte("meow"))
|
|
fmt.Println(r)
|
|
|
|
r = c.Compare([]byte("meow"), []byte("meow"))
|
|
fmt.Println(r)
|
|
// Output:
|
|
// -1
|
|
// 1
|
|
// 0
|
|
}
|