| // 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 |
| } |