Go 언어 gzip 알아보기
오늘은 Go 언어 기본 패키지에 포함되있는 compress/gzip을 이용하여 실습해보려 합니다.
package main
import (
"bytes"
"compress/gzip"
"io"
"os"
)
우선 버퍼를 만들기 위한 bytes 패키지와 오늘의 포스팅 주제에 필요한 compress/gzip 패키지를 가져옵니다.
내용 출력을 위한 io 패키지와 os 패키지도 가져와줍니다.
func main() {
var buffer bytes.Buffer
gzipWriter := gzip.NewWriter(&buffer)
버퍼를 만들어주고, 그 버퍼를 이용하여 gzip을 실습하기 위한 writer를 만들어줍니다.
gzipWriter.Write([]byte("test text"))
gzipWriter.Close()
바이트 배열로 값을 기입해주고, 닫아줍니다.
gzipReader, _ := gzip.NewReader(&buffer)
defer gzipReader.Close()
버퍼로 Reader를 만들어주고 defer 키워드를 이용해 해당 작업이 끝나면 gzipReader를 닫아줍니다.
io.Copy(os.Stdout, gzipReader)
}
io 패키지의 Copy로 Reader를 writer로 복사하여 값을 출력합니다.
Written on October 18, 2018