golang将套接字连接到Stdin / Stdout

What is the best way to attach a socket to Stdin/Stdout. I know we can redirect the stdin/Stdout to any any file descriptor but how can we do the same with sockets. (like how socat works) ?

Well the socket types in Go implement the io.Writer interface, and os.Stdin implements the io.Reader, so my first guess would be to try out bufio.Writer. It would probably look something like:

package main

import (
    "bufio"
    "os"
)

func main() {
    socket := getSocket() // left as an exercise for you to implement
    writer := bufio.NewWriter(socket)
    writer.ReadFrom(os.Stdin)
    // do something to determine when to stop
}