Fetch the repository succeeded.
package helper
import (
"bytes"
"compress/gzip"
"encoding/base64"
"io/ioutil"
"log"
"text/template"
)
func NewTplFunction() template.FuncMap {
fm := make(map[string]interface{})
fm["Gzip"] = Gzip
fm["SnakeCase"] = SnakeCase
fm["Ucfirst"] = Ucfirst
fm["CamelCase"] = CamelCase
return fm
}
func Gzip(str string) string {
var buf bytes.Buffer
gz := gzip.NewWriter(&buf)
_, err := gz.Write([]byte(str))
if err != nil {
log.Println(err)
return ""
}
err = gz.Close()
if err != nil {
log.Println(err)
return ""
}
return base64.StdEncoding.EncodeToString(buf.Bytes())
}
func UnGzip(str string) string {
dbytes, err := base64.StdEncoding.DecodeString(str)
if err != nil {
log.Println(err)
return ""
}
read_data := bytes.NewReader(dbytes)
reader, err := gzip.NewReader(read_data)
if err != nil {
log.Println(err)
return ""
}
defer reader.Close()
ret, err := ioutil.ReadAll(reader)
if err != nil {
log.Println("read gzip error:", err)
return ""
}
return string(ret)
}
此处可能存在不合适展示的内容,页面不予展示。您可通过相关编辑功能自查并修改。
如您确认内容无涉及 不当用语 / 纯广告导流 / 暴力 / 低俗色情 / 侵权 / 盗版 / 虚假 / 无价值内容或违法国家有关法律法规的内容,可点击提交进行申诉,我们将尽快为您处理。