How to Read from stdin and Write to stdout in a CLI

Cli
Read from stdin and write to stdout in Go using os.Stdin, os.Stdout, and bufio.Scanner for efficient line processing.

Use os.Stdin as the reader and os.Stdout as the writer, typically wrapped in bufio for efficient line-by-line processing.

package main

import (
	"bufio"
	"fmt"
	"os"
)

func main() {
	scanner := bufio.NewScanner(os.Stdin)
	for scanner.Scan() {
		fmt.Fprintln(os.Stdout, scanner.Text())
	}
	if err := scanner.Err(); err != nil {
		fmt.Fprintln(os.Stderr, "error:", err)
	}
}