aboutsummaryrefslogtreecommitdiff
path: root/src/bytes/example_test.go
diff options
context:
space:
mode:
authorfangguizhen <1297394526@qq.com>2023-01-20 09:43:40 +0000
committerGopher Robot <gobot@golang.org>2023-01-20 23:21:39 +0000
commit85b49d7f21dfbee9946bece01a168de239094716 (patch)
tree3f345dc2fd0b7eb0eff7f65b7eef0eb6c9054e34 /src/bytes/example_test.go
parent0518e33f6c0c3a9f6ce1f800ca4b7fe5f3a1b7a5 (diff)
downloadgo-85b49d7f21dfbee9946bece01a168de239094716.tar.xz
bytes,strings: add some examples
Change-Id: Ic93ad59119f3549c0f13c4f366f71e9d01b88c47 GitHub-Last-Rev: afb518047288976f440d3fe0d65923c1905a9b26 GitHub-Pull-Request: golang/go#57907 Reviewed-on: https://go-review.googlesource.com/c/go/+/462283 TryBot-Result: Gopher Robot <gobot@golang.org> Run-TryBot: Ian Lance Taylor <iant@google.com> Reviewed-by: Ian Lance Taylor <iant@google.com> Reviewed-by: Cherry Mui <cherryyz@google.com> Run-TryBot: Ian Lance Taylor <iant@golang.org> Auto-Submit: Ian Lance Taylor <iant@google.com>
Diffstat (limited to 'src/bytes/example_test.go')
-rw-r--r--src/bytes/example_test.go62
1 files changed, 62 insertions, 0 deletions
diff --git a/src/bytes/example_test.go b/src/bytes/example_test.go
index 54a7aa6ae6..e5b7b60dbb 100644
--- a/src/bytes/example_test.go
+++ b/src/bytes/example_test.go
@@ -110,6 +110,19 @@ func ExampleBuffer_ReadByte() {
// bcde
}
+func ExampleClone() {
+ b := []byte("abc")
+ clone := bytes.Clone(b)
+ fmt.Printf("%s\n", clone)
+ clone[0] = 'd'
+ fmt.Printf("%s\n", b)
+ fmt.Printf("%s\n", clone)
+ // Output:
+ // abc
+ // abc
+ // dbc
+}
+
func ExampleCompare() {
// Interpret Compare's result by comparing it to zero.
var a, b []byte
@@ -210,6 +223,30 @@ func ExampleCut() {
// Cut("Gopher", "Badger") = "Gopher", "", false
}
+func ExampleCutPrefix() {
+ show := func(s, sep string) {
+ after, found := bytes.CutPrefix([]byte(s), []byte(sep))
+ fmt.Printf("CutPrefix(%q, %q) = %q, %v\n", s, sep, after, found)
+ }
+ show("Gopher", "Go")
+ show("Gopher", "ph")
+ // Output:
+ // CutPrefix("Gopher", "Go") = "pher", true
+ // CutPrefix("Gopher", "ph") = "Gopher", false
+}
+
+func ExampleCutSuffix() {
+ show := func(s, sep string) {
+ before, found := bytes.CutSuffix([]byte(s), []byte(sep))
+ fmt.Printf("CutSuffix(%q, %q) = %q, %v\n", s, sep, before, found)
+ }
+ show("Gopher", "Go")
+ show("Gopher", "er")
+ // Output:
+ // CutSuffix("Gopher", "Go") = "Gopher", false
+ // CutSuffix("Gopher", "er") = "Goph", true
+}
+
func ExampleEqual() {
fmt.Println(bytes.Equal([]byte("Go"), []byte("Go")))
fmt.Println(bytes.Equal([]byte("Go"), []byte("C++")))
@@ -347,6 +384,21 @@ func ExampleLastIndexFunc() {
// -1
}
+func ExampleMap() {
+ rot13 := func(r rune) rune {
+ switch {
+ case r >= 'A' && r <= 'Z':
+ return 'A' + (r-'A'+13)%26
+ case r >= 'a' && r <= 'z':
+ return 'a' + (r-'a'+13)%26
+ }
+ return r
+ }
+ fmt.Printf("%s\n", bytes.Map(rot13, []byte("'Twas brillig and the slithy gopher...")))
+ // Output:
+ // 'Gjnf oevyyvt naq gur fyvgul tbcure...
+}
+
func ExampleReader_Len() {
fmt.Println(bytes.NewReader([]byte("Hi!")).Len())
fmt.Println(bytes.NewReader([]byte("こんにちは!")).Len())
@@ -445,6 +497,16 @@ func ExampleToTitleSpecial() {
// ToTitle : AHOJ VÝVOJÁRİ GOLANG
}
+func ExampleToValidUTF8() {
+ fmt.Printf("%s\n", bytes.ToValidUTF8([]byte("abc"), []byte("\uFFFD")))
+ fmt.Printf("%s\n", bytes.ToValidUTF8([]byte("a\xffb\xC0\xAFc\xff"), []byte("")))
+ fmt.Printf("%s\n", bytes.ToValidUTF8([]byte("\xed\xa0\x80"), []byte("abc")))
+ // Output:
+ // abc
+ // abc
+ // abc
+}
+
func ExampleTrim() {
fmt.Printf("[%q]", bytes.Trim([]byte(" !!! Achtung! Achtung! !!! "), "! "))
// Output: ["Achtung! Achtung"]