Use the compress/gzip package to create a Reader for decompression or a Writer for compression.
package main
import (
"compress/gzip"
"fmt"
"io"
"os"
)
func main() {
// Read: Open file, wrap in gzip.Reader, read data
f, _ := os.Open("data.gz")
defer f.Close()
gz, _ := gzip.NewReader(f)
defer gz.Close()
data, _ := io.ReadAll(gz)
fmt.Println(string(data))
// Write: Open file, wrap in gzip.Writer, write data
out, _ := os.Create("data.gz")
defer out.Close()
gw := gzip.NewWriter(out)
gw.Write([]byte("Hello, compressed world!"))
gw.Close()
}