Go 언어 zlib 알아보기
오늘은 Go 언어 기본 패키지에 포함되있는 compress/zlib을 이용하여 실습해보려 합니다.
1
2
3
4
5
6
7
8
9
package main
import (
"bytes"
"compress/zlib"
"fmt"
"io"
"os"
)
우선 버퍼를 만들기 위한 bytes 패키지와 오늘의 포스팅 주제에 필요한 compress/zlib 패키지를 가져옵니다.
내용 출력을 위한 io 패키지와 os 패키지도 가져와줍니다.
1
2
3
4
5
func main() {
var buffer bytes.Buffer
writer := zlib.NewWriter(&buffer)
writer.Write([]byte("test"))
writer.Close()
버퍼를 만들어주고 그 버퍼로 writer를 생성해줍니다.
바이트 배열로 문자열을 Writer에 기록해줍니다.
그리고 작업을 끝냈으면 반드시 닫아줍니다.
1
fmt.Println(buffer.Bytes())
fmt패키지의 Println으로 buffer에 있는 바이트들을 출력해봅니다.
1
2
reader, _ := zlib.NewReader(&buffer)
defer reader.Close()
아까 생성한 버퍼로 reader를 생성해서 defer 키워드로 main이 끝나기전에 닫게 해줍니다.
1
2
io.Copy(os.Stdout, reader)
}
Reader를 writer로 복사하여 io 패키지의 Copy로 출력해줍니다.
This post is licensed under CC BY 4.0 by the author.