Я хочу скопировать строку os.Stdin
в буфер, чтобы проверить введенный пользователем текст (например, "hibye") и поместить в него оператор if.
Мой текущий код просто обрабатывает простой stdinОперации копирования stdiout (без буфера):
func interact(c net.Conn) {
// Read from Reader and write to Writer until EOF()
copy := func(r io.ReadCloser, w io.WriteCloser) {
defer func() {
r.Close()
w.Close()
}()
n, err := io.Copy(w, r)
if err != nil {
log.Printf("[%s]: ERROR: %s\n", c.RemoteAddr(), err)
log.Println(n)
}
}
go copy(c, os.Stdout)
go copy(os.Stdin, c)
}
Вопрос: Какой самый эффективный способ реализовать использование буфера для контроля над переданными строками?
плохой пример (неудачная попытка):
buf := make([]byte, 1024)
go copy (os.Stdin, []byte(buf))
if buf == "hibye" {
do stuff
}