如何在Golang中解析xml.gz

I am new to Golang. I want to parse email attachment which is in format of xml.gz. I am not getting how can i manipulate string which i am getting in a.data How can i achieve this in golang?

My CODE:

package main

import (
    "fmt"
    "os"
    "io"
    _ "compress/gzip"
    "github.com/DusanKasan/parsemail"
)

var reader io.Reader
var err error

func main() {
    fmt.Println("HIII.. THIS IS TESTING")
    reader, err = os.Open("4.raw")
    if err != nil {
        fmt.Println(err)
        os.Exit(0)
    }
    email, err := parsemail.Parse(reader)
    if err != nil {
        fmt.Println(err)
        os.Exit(0)
    }
    for _, a := range(email.Attachments) {
        r, _ := gzip.NewReader(a.Data)
        io.Copy(os.Stdout, r)
        r.Close()
    }
}

Now I am getting XML formatted data on terminal. But I want same data in variable

when I print r, it shows me something like &{[31 139 8 0 89 139 65 92 0 3 237 157 205 114 226 56 16 128 207 187 79 193 206 61 50 146 255 1 ...... ]}