하나의 데이터를 입출력할 때, 입출력 소스/타겟에 따라 다른 함수를 써야한다는게 너무 불편하네요.


예전에는 불편한 줄 몰랐는데...


인터페이스는 사랑입니다.




예시)


buf라는 버퍼의 데이터를 출력한다면


io.Copy(os.Stdout, buf) : 표준출력에 출력

io.Copy(file, buf) : 파일에 출력

io.Copy(rw, buf) : http.ResponseWriter에 출력

io.Copy(conn, buf) : 소켓에 출력

io.Copy(buf2, buf) : 다른 버퍼에 출력


이러면 될 것을.