How to use bufio for buffered IO

Wrap io.Reader or io.Writer with bufio.NewReader or bufio.NewWriter to buffer data and reduce system calls for efficient I/O.

Use bufio.NewReader to wrap an io.Reader for efficient reading or bufio.NewWriter to wrap an io.Writer for efficient writing. This reduces the number of system calls by buffering data in memory before processing.

import "bufio"

// Reading
reader := bufio.NewReader(os.Stdin)
line, err := reader.ReadString('\n')

// Writing
writer := bufio.NewWriter(os.Stdout)
writer.WriteString("Hello, world!\n")
writer.Flush() // Required to write buffered data