1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071727374757677787980818283848586 |
- // Copyright 2011 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 bytes_test
- import (
- "bytes"
- "encoding/base64"
- "fmt"
- "io"
- "os"
- "sort"
- )
- func ExampleBuffer() {
- var b bytes.Buffer // A Buffer needs no initialization.
- b.Write([]byte("Hello "))
- fmt.Fprintf(&b, "world!")
- b.WriteTo(os.Stdout)
- // Output: Hello world!
- }
- func ExampleBuffer_reader() {
- // A Buffer can turn a string or a []byte into an io.Reader.
- buf := bytes.NewBufferString("R29waGVycyBydWxlIQ==")
- dec := base64.NewDecoder(base64.StdEncoding, buf)
- io.Copy(os.Stdout, dec)
- // Output: Gophers rule!
- }
- func ExampleCompare() {
- // Interpret Compare's result by comparing it to zero.
- var a, b []byte
- if bytes.Compare(a, b) < 0 {
- // a less b
- }
- if bytes.Compare(a, b) <= 0 {
- // a less or equal b
- }
- if bytes.Compare(a, b) > 0 {
- // a greater b
- }
- if bytes.Compare(a, b) >= 0 {
- // a greater or equal b
- }
- // Prefer Equal to Compare for equality comparisons.
- if bytes.Equal(a, b) {
- // a equal b
- }
- if !bytes.Equal(a, b) {
- // a not equal b
- }
- }
- func ExampleCompare_search() {
- // Binary search to find a matching byte slice.
- var needle []byte
- var haystack [][]byte // Assume sorted
- i := sort.Search(len(haystack), func(i int) bool {
- // Return haystack[i] >= needle.
- return bytes.Compare(haystack[i], needle) >= 0
- })
- if i < len(haystack) && bytes.Equal(haystack[i], needle) {
- // Found it!
- }
- }
- func ExampleTrimSuffix() {
- var b = []byte("Hello, goodbye, etc!")
- b = bytes.TrimSuffix(b, []byte("goodbye, etc!"))
- b = bytes.TrimSuffix(b, []byte("gopher"))
- b = append(b, bytes.TrimSuffix([]byte("world!"), []byte("x!"))...)
- os.Stdout.Write(b)
- // Output: Hello, world!
- }
- func ExampleTrimPrefix() {
- var b = []byte("Goodbye,, world!")
- b = bytes.TrimPrefix(b, []byte("Goodbye,"))
- b = bytes.TrimPrefix(b, []byte("See ya,"))
- fmt.Printf("Hello%s", b)
- // Output: Hello, world!
- }
|