| | |
| | |
| | |
| |
|
| | package io_test |
| |
|
| | import ( |
| | "fmt" |
| | "io" |
| | "log" |
| | "os" |
| | "strings" |
| | ) |
| |
|
| | func ExampleCopy() { |
| | r := strings.NewReader("some io.Reader stream to be read\n") |
| |
|
| | if _, err := io.Copy(os.Stdout, r); err != nil { |
| | log.Fatal(err) |
| | } |
| |
|
| | |
| | |
| | } |
| |
|
| | func ExampleCopyBuffer() { |
| | r1 := strings.NewReader("first reader\n") |
| | r2 := strings.NewReader("second reader\n") |
| | buf := make([]byte, 8) |
| |
|
| | |
| | if _, err := io.CopyBuffer(os.Stdout, r1, buf); err != nil { |
| | log.Fatal(err) |
| | } |
| |
|
| | |
| | if _, err := io.CopyBuffer(os.Stdout, r2, buf); err != nil { |
| | log.Fatal(err) |
| | } |
| |
|
| | |
| | |
| | |
| | } |
| |
|
| | func ExampleCopyN() { |
| | r := strings.NewReader("some io.Reader stream to be read") |
| |
|
| | if _, err := io.CopyN(os.Stdout, r, 4); err != nil { |
| | log.Fatal(err) |
| | } |
| |
|
| | |
| | |
| | } |
| |
|
| | func ExampleReadAtLeast() { |
| | r := strings.NewReader("some io.Reader stream to be read\n") |
| |
|
| | buf := make([]byte, 14) |
| | if _, err := io.ReadAtLeast(r, buf, 4); err != nil { |
| | log.Fatal(err) |
| | } |
| | fmt.Printf("%s\n", buf) |
| |
|
| | |
| | shortBuf := make([]byte, 3) |
| | if _, err := io.ReadAtLeast(r, shortBuf, 4); err != nil { |
| | fmt.Println("error:", err) |
| | } |
| |
|
| | |
| | longBuf := make([]byte, 64) |
| | if _, err := io.ReadAtLeast(r, longBuf, 64); err != nil { |
| | fmt.Println("error:", err) |
| | } |
| |
|
| | |
| | |
| | |
| | |
| | } |
| |
|
| | func ExampleReadFull() { |
| | r := strings.NewReader("some io.Reader stream to be read\n") |
| |
|
| | buf := make([]byte, 4) |
| | if _, err := io.ReadFull(r, buf); err != nil { |
| | log.Fatal(err) |
| | } |
| | fmt.Printf("%s\n", buf) |
| |
|
| | |
| | longBuf := make([]byte, 64) |
| | if _, err := io.ReadFull(r, longBuf); err != nil { |
| | fmt.Println("error:", err) |
| | } |
| |
|
| | |
| | |
| | |
| | } |
| |
|
| | func ExampleWriteString() { |
| | if _, err := io.WriteString(os.Stdout, "Hello World"); err != nil { |
| | log.Fatal(err) |
| | } |
| |
|
| | |
| | } |
| |
|
| | func ExampleLimitReader() { |
| | r := strings.NewReader("some io.Reader stream to be read\n") |
| | lr := io.LimitReader(r, 4) |
| |
|
| | if _, err := io.Copy(os.Stdout, lr); err != nil { |
| | log.Fatal(err) |
| | } |
| |
|
| | |
| | |
| | } |
| |
|
| | func ExampleMultiReader() { |
| | r1 := strings.NewReader("first reader ") |
| | r2 := strings.NewReader("second reader ") |
| | r3 := strings.NewReader("third reader\n") |
| | r := io.MultiReader(r1, r2, r3) |
| |
|
| | if _, err := io.Copy(os.Stdout, r); err != nil { |
| | log.Fatal(err) |
| | } |
| |
|
| | |
| | |
| | } |
| |
|
| | func ExampleTeeReader() { |
| | var r io.Reader = strings.NewReader("some io.Reader stream to be read\n") |
| |
|
| | r = io.TeeReader(r, os.Stdout) |
| |
|
| | |
| | if _, err := io.ReadAll(r); err != nil { |
| | log.Fatal(err) |
| | } |
| |
|
| | |
| | |
| | } |
| |
|
| | func ExampleSectionReader() { |
| | r := strings.NewReader("some io.Reader stream to be read\n") |
| | s := io.NewSectionReader(r, 5, 17) |
| |
|
| | if _, err := io.Copy(os.Stdout, s); err != nil { |
| | log.Fatal(err) |
| | } |
| |
|
| | |
| | |
| | } |
| |
|
| | func ExampleSectionReader_Read() { |
| | r := strings.NewReader("some io.Reader stream to be read\n") |
| | s := io.NewSectionReader(r, 5, 17) |
| |
|
| | buf := make([]byte, 9) |
| | if _, err := s.Read(buf); err != nil { |
| | log.Fatal(err) |
| | } |
| |
|
| | fmt.Printf("%s\n", buf) |
| |
|
| | |
| | |
| | } |
| |
|
| | func ExampleSectionReader_ReadAt() { |
| | r := strings.NewReader("some io.Reader stream to be read\n") |
| | s := io.NewSectionReader(r, 5, 17) |
| |
|
| | buf := make([]byte, 6) |
| | if _, err := s.ReadAt(buf, 10); err != nil { |
| | log.Fatal(err) |
| | } |
| |
|
| | fmt.Printf("%s\n", buf) |
| |
|
| | |
| | |
| | } |
| |
|
| | func ExampleSectionReader_Seek() { |
| | r := strings.NewReader("some io.Reader stream to be read\n") |
| | s := io.NewSectionReader(r, 5, 17) |
| |
|
| | if _, err := s.Seek(10, io.SeekStart); err != nil { |
| | log.Fatal(err) |
| | } |
| |
|
| | if _, err := io.Copy(os.Stdout, s); err != nil { |
| | log.Fatal(err) |
| | } |
| |
|
| | |
| | |
| | } |
| |
|
| | func ExampleSectionReader_Size() { |
| | r := strings.NewReader("some io.Reader stream to be read\n") |
| | s := io.NewSectionReader(r, 5, 17) |
| |
|
| | fmt.Println(s.Size()) |
| |
|
| | |
| | |
| | } |
| |
|
| | func ExampleSeeker_Seek() { |
| | r := strings.NewReader("some io.Reader stream to be read\n") |
| |
|
| | r.Seek(5, io.SeekStart) |
| | if _, err := io.Copy(os.Stdout, r); err != nil { |
| | log.Fatal(err) |
| | } |
| |
|
| | r.Seek(-5, io.SeekEnd) |
| | if _, err := io.Copy(os.Stdout, r); err != nil { |
| | log.Fatal(err) |
| | } |
| |
|
| | |
| | |
| | |
| | } |
| |
|
| | func ExampleMultiWriter() { |
| | r := strings.NewReader("some io.Reader stream to be read\n") |
| |
|
| | var buf1, buf2 strings.Builder |
| | w := io.MultiWriter(&buf1, &buf2) |
| |
|
| | if _, err := io.Copy(w, r); err != nil { |
| | log.Fatal(err) |
| | } |
| |
|
| | fmt.Print(buf1.String()) |
| | fmt.Print(buf2.String()) |
| |
|
| | |
| | |
| | |
| | } |
| |
|
| | func ExamplePipe() { |
| | r, w := io.Pipe() |
| |
|
| | go func() { |
| | fmt.Fprint(w, "some io.Reader stream to be read\n") |
| | w.Close() |
| | }() |
| |
|
| | if _, err := io.Copy(os.Stdout, r); err != nil { |
| | log.Fatal(err) |
| | } |
| |
|
| | |
| | |
| | } |
| |
|
| | func ExampleReadAll() { |
| | r := strings.NewReader("Go is a general-purpose language designed with systems programming in mind.") |
| |
|
| | b, err := io.ReadAll(r) |
| | if err != nil { |
| | log.Fatal(err) |
| | } |
| |
|
| | fmt.Printf("%s", b) |
| |
|
| | |
| | |
| | } |
| |
|