将curl转换为GOlang代码

I am a GO newbie. I am trying to convert a curl command to GOlang.

curl --cacert "pki/ca.crt" \
  -H "Authorization: Bearer my_bearer_token" \
  --insecure \
  --max-time 5 --fail --output /dev/null --silent \
  "https://myserver/status"; do

This is what I have got:

mTLSConfig := &tls.Config {
    CipherSuites: []uint16 {
        tls.TLS_RSA_WITH_RC4_128_SHA,
        tls.TLS_RSA_WITH_3DES_EDE_CBC_SHA,
        tls.TLS_RSA_WITH_AES_128_CBC_SHA,
        tls.TLS_ECDHE_RSA_WITH_RC4_128_SHA,
        tls.TLS_RSA_WITH_AES_128_CBC_SHA,
        tls.TLS_ECDHE_RSA_WITH_AES_128_CBC_SHA,
    },
    InsecureSkipVerify: true, // --insecure
}
mTLSConfig.PreferServerCipherSuites = true
mTLSConfig.MinVersion = tls.VersionTLS10
mTLSConfig.MaxVersion = tls.VersionTLS10
certs := x509.NewCertPool()
certs.AppendCertsFromPEM([]byte(caCert))
mTLSConfig.RootCAs = certs
tr := &http.Transport{
    TLSClientConfig: mTLSConfig,
}

client := &http.Client{Transport: tr}
req, _ := http.NewRequest("GET", "https://myserver/status", nil)
req.Header.Set("Authorization", fmt.Sprintf("Bearer my_bearer_token"))
resp, err := client.Do(req)
glog.V(4).Info(resp, err)
if err != nil {
    return true
}
return false

Am I doing it right?

The package you're looking for is https://golang.org/pkg/crypto/x509

Once you have built your certificate you can use it in different REST clients like plain rest, Resty or any other you're using.

BTW: I'm making a series of videos about Golang development. If you want, you can add in this form the topics you want me to cover and I'll make sure they're all included in the lessons.