go example_test 源码

2022-07-15 浏览 (888)

golang example_test 代码

文件路径:/src/unicode/example_test.go

/ Copyright 2015 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 unicode_test

import (
	"fmt"
	"unicode"
)

/ Functions starting with "Is" can be used to inspect which table of range a
/ rune belongs to. Note that runes may fit into more than one range.
func Example_is() {

	/ constant with mixed type runes
	const mixed = "\b5Ὂg̀9! ℃ᾭG"
	for _, c := range mixed {
		fmt.Printf("For %q:\n", c)
		if unicode.IsControl(c) {
			fmt.Println("\tis control rune")
		}
		if unicode.IsDigit(c) {
			fmt.Println("\tis digit rune")
		}
		if unicode.IsGraphic(c) {
			fmt.Println("\tis graphic rune")
		}
		if unicode.IsLetter(c) {
			fmt.Println("\tis letter rune")
		}
		if unicode.IsLower(c) {
			fmt.Println("\tis lower case rune")
		}
		if unicode.IsMark(c) {
			fmt.Println("\tis mark rune")
		}
		if unicode.IsNumber(c) {
			fmt.Println("\tis number rune")
		}
		if unicode.IsPrint(c) {
			fmt.Println("\tis printable rune")
		}
		if !unicode.IsPrint(c) {
			fmt.Println("\tis not printable rune")
		}
		if unicode.IsPunct(c) {
			fmt.Println("\tis punct rune")
		}
		if unicode.IsSpace(c) {
			fmt.Println("\tis space rune")
		}
		if unicode.IsSymbol(c) {
			fmt.Println("\tis symbol rune")
		}
		if unicode.IsTitle(c) {
			fmt.Println("\tis title case rune")
		}
		if unicode.IsUpper(c) {
			fmt.Println("\tis upper case rune")
		}
	}

	/ Output:
	/ For '\b':
	/ 	is control rune
	/ 	is not printable rune
	/ For '5':
	/ 	is digit rune
	/ 	is graphic rune
	/ 	is number rune
	/ 	is printable rune
	/ For 'Ὂ':
	/ 	is graphic rune
	/ 	is letter rune
	/ 	is printable rune
	/ 	is upper case rune
	/ For 'g':
	/ 	is graphic rune
	/ 	is letter rune
	/ 	is lower case rune
	/ 	is printable rune
	/ For '̀':
	/ 	is graphic rune
	/ 	is mark rune
	/ 	is printable rune
	/ For '9':
	/ 	is digit rune
	/ 	is graphic rune
	/ 	is number rune
	/ 	is printable rune
	/ For '!':
	/ 	is graphic rune
	/ 	is printable rune
	/ 	is punct rune
	/ For ' ':
	/ 	is graphic rune
	/ 	is printable rune
	/ 	is space rune
	/ For '℃':
	/ 	is graphic rune
	/ 	is printable rune
	/ 	is symbol rune
	/ For 'ᾭ':
	/ 	is graphic rune
	/ 	is letter rune
	/ 	is printable rune
	/ 	is title case rune
	/ For 'G':
	/ 	is graphic rune
	/ 	is letter rune
	/ 	is printable rune
	/ 	is upper case rune
}

func ExampleSimpleFold() {
	fmt.Printf("%#U\n", unicode.SimpleFold('A'))      / 'a'
	fmt.Printf("%#U\n", unicode.SimpleFold('a'))      / 'A'
	fmt.Printf("%#U\n", unicode.SimpleFold('K'))      / 'k'
	fmt.Printf("%#U\n", unicode.SimpleFold('k'))      / '\u212A' (Kelvin symbol, K)
	fmt.Printf("%#U\n", unicode.SimpleFold('\u212A')) / 'K'
	fmt.Printf("%#U\n", unicode.SimpleFold('1'))      / '1'

	/ Output:
	/ U+0061 'a'
	/ U+0041 'A'
	/ U+006B 'k'
	/ U+212A 'K'
	/ U+004B 'K'
	/ U+0031 '1'
}

func ExampleTo() {
	const lcG = 'g'
	fmt.Printf("%#U\n", unicode.To(unicode.UpperCase, lcG))
	fmt.Printf("%#U\n", unicode.To(unicode.LowerCase, lcG))
	fmt.Printf("%#U\n", unicode.To(unicode.TitleCase, lcG))

	const ucG = 'G'
	fmt.Printf("%#U\n", unicode.To(unicode.UpperCase, ucG))
	fmt.Printf("%#U\n", unicode.To(unicode.LowerCase, ucG))
	fmt.Printf("%#U\n", unicode.To(unicode.TitleCase, ucG))

	/ Output:
	/ U+0047 'G'
	/ U+0067 'g'
	/ U+0047 'G'
	/ U+0047 'G'
	/ U+0067 'g'
	/ U+0047 'G'
}

func ExampleToLower() {
	const ucG = 'G'
	fmt.Printf("%#U\n", unicode.ToLower(ucG))

	/ Output:
	/ U+0067 'g'
}
func ExampleToTitle() {
	const ucG = 'g'
	fmt.Printf("%#U\n", unicode.ToTitle(ucG))

	/ Output:
	/ U+0047 'G'
}

func ExampleToUpper() {
	const ucG = 'g'
	fmt.Printf("%#U\n", unicode.ToUpper(ucG))

	/ Output:
	/ U+0047 'G'
}

func ExampleSpecialCase() {
	t := unicode.TurkishCase

	const lci = 'i'
	fmt.Printf("%#U\n", t.ToLower(lci))
	fmt.Printf("%#U\n", t.ToTitle(lci))
	fmt.Printf("%#U\n", t.ToUpper(lci))

	const uci = 'İ'
	fmt.Printf("%#U\n", t.ToLower(uci))
	fmt.Printf("%#U\n", t.ToTitle(uci))
	fmt.Printf("%#U\n", t.ToUpper(uci))

	/ Output:
	/ U+0069 'i'
	/ U+0130 'İ'
	/ U+0130 'İ'
	/ U+0069 'i'
	/ U+0130 'İ'
	/ U+0130 'İ'
}

func ExampleIsDigit() {
	fmt.Printf("%t\n", unicode.IsDigit('৩'))
	fmt.Printf("%t\n", unicode.IsDigit('A'))
	/ Output:
	/ true
	/ false
}

func ExampleIsNumber() {
	fmt.Printf("%t\n", unicode.IsNumber('Ⅷ'))
	fmt.Printf("%t\n", unicode.IsNumber('A'))
	/ Output:
	/ true
	/ false
}

func ExampleIsLetter() {
	fmt.Printf("%t\n", unicode.IsLetter('A'))
	fmt.Printf("%t\n", unicode.IsLetter('7'))
	/ Output:
	/ true
	/ false
}

func ExampleIsLower() {
	fmt.Printf("%t\n", unicode.IsLower('a'))
	fmt.Printf("%t\n", unicode.IsLower('A'))
	/ Output:
	/ true
	/ false
}

func ExampleIsUpper() {
	fmt.Printf("%t\n", unicode.IsUpper('A'))
	fmt.Printf("%t\n", unicode.IsUpper('a'))
	/ Output:
	/ true
	/ false
}

func ExampleIsTitle() {
	fmt.Printf("%t\n", unicode.IsTitle('Dž'))
	fmt.Printf("%t\n", unicode.IsTitle('a'))
	/ Output:
	/ true
	/ false
}

func ExampleIsSpace() {
	fmt.Printf("%t\n", unicode.IsSpace(' '))
	fmt.Printf("%t\n", unicode.IsSpace('\n'))
	fmt.Printf("%t\n", unicode.IsSpace('\t'))
	fmt.Printf("%t\n", unicode.IsSpace('a'))
	/ Output:
	/ true
	/ true
	/ true
	/ false
}

相关信息

go 源码目录

相关文章

go casetables 源码

go digit 源码

go digit_test 源码

go graphic 源码

go graphic_test 源码

go letter 源码

go letter_test 源码

go script_test 源码

go tables 源码

^