bytes.Buffer io.Writer 구현
io.Writer 인터페이스를 구현하려면 객체가 다음을 허용하는 Write 메서드를 제공해야 합니다. 바이트 슬라이스. bytes.Buffer는 Write를 구현하지만 중요한 차이점을 알아두는 것이 중요합니다.
bytes.Buffer에서 Write 메서드에는 포인터 수신기가 있습니다. 즉, 버퍼 자체의 주소에서 작동합니다. 따라서 io.Writer의 구현으로 bytes.Buffer를 사용하려면 버퍼 자체가 아닌 버퍼에 대한 포인터를 전달해야 합니다.
import "bufio" import "bytes" func main() { var b bytes.Buffer foo := bufio.NewWriter(&b) }
버퍼의 주소(&b)를 전달하여, Write 메소드가 실제 버퍼를 수정하여 io.Writer로 올바르게 작동하도록 허용합니다.
위 내용은 io.Writer를 구현할 때 bytes.Buffer에 대한 포인터를 사용하는 이유는 무엇입니까?의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!