Golang 字符串转URLCode

最近因调用gitlab API,在生成某些字符串的时候直接请求 gitlab API 失败, url如下:

keysURL := "http://192.168.1.212:10080/api/v3/user/keys?id=" +
strconv.Itoa(model.Id) + "&private_token=" + privateToken + "&key=" + pub + "&title=gitclone"

查找问题发现是字符串编码问题,利用

url.QueryEscape()
keysURL := "http://192.168.1.212:10080/api/v3/user/keys?id=" +
strconv.Itoa(model.Id) + "&private_token=" + privateToken + "&key=" + url.QueryEscape(pub) + "&title=gitclone"

解决了问题。