1 개요[ | ]
- Go Reader
Go
Copy
package main
import (
"fmt"
"io"
"strings"
)
func main() {
r := strings.NewReader("Hello, Reader!")
b := make([]byte, 8)
for {
n, err := r.Read(b)
fmt.Printf("n = %v err = %v b = %v\n", n, err, b)
fmt.Printf("b[:n] = %q\n", b[:n])
if err == io.EOF {
break
}
}
}
Loading
2 제로값 탐구[ | ]
Go
Copy
package main
import (
"bytes"
"fmt"
"io"
)
func main() {
var reader io.Reader // 리더 제로값(nil)
fmt.Println(reader) // <nil>
fmt.Printf("%#v\n", reader) // <nil>
reader = bytes.NewBuffer(nil) // nil에 대한 버퍼 리더
fmt.Println(reader) //
fmt.Printf("%#v\n", reader) // &bytes.Buffer{buf:[]uint8(nil), off:0, lastRead:0}
reader = bytes.NewBuffer([]byte{}) // 바이트 슬라이스 제로값에 대한 버퍼 리더
fmt.Println(reader) //
fmt.Printf("%#v\n", reader) // &bytes.Buffer{buf:[]uint8{}, off:0, lastRead:0}
reader = bytes.NewBuffer([]byte("")) // 빈 문자열 바이트 슬라이스에 대한 버퍼 리더
fmt.Println(reader) //
fmt.Printf("%#v\n", reader) // &bytes.Buffer{buf:[]uint8{}, off:0, lastRead:0}
}
Loading
3 같이 보기[ | ]
편집자 Jmnote
로그인하시면 댓글을 쓸 수 있습니다.