1 Star 0 Fork 39

梅旭 / goctp

forked from 海风 / goctp 
加入 Gitee
与超过 1200万 开发者一起发现、参与优秀开源项目,私有仓库也完全免费 :)
免费加入
克隆/下载
init.go 1.55 KB
一键复制 编辑 原始数据 按行查看 历史
海风 提交于 2020-11-08 00:04 . 更新:module命名规范
package goctp
import (
"bytes"
"errors"
"fmt"
"reflect"
"strings"
"text/template"
"golang.org/x/text/encoding/simplifiedchinese"
)
func CheckErr(err error) {
if err != nil {
fmt.Println(err)
panic(err)
}
}
func TemplateMap(templateString string, mapContent map[string]string) string {
t := template.Must(template.New("fun").Parse(templateString))
buf := &bytes.Buffer{}
CheckErr(t.Execute(buf, mapContent))
return buf.String()
}
func Bytes2String(t []byte) string {
msg, _ := simplifiedchinese.GB18030.NewDecoder().Bytes(t)
return strings.Trim(string(msg), "\u0000")
}
//func GB18030ToUtf8(s []byte) ([]byte, error) {
// reader := transform.NewReader(bytes.NewReader(s), simplifiedchinese.GB18030.NewDecoder())
// d, e := ioutil.ReadAll(reader)
// if e != nil {
// return nil, e
// }
// return d, nil
//}
//
//func Utf8ToGbk(s []byte) ([]byte, error) {
// reader := transform.NewReader(bytes.NewReader(s), simplifiedchinese.GBK.NewEncoder())
// d, e := ioutil.ReadAll(reader)
// if e != nil {
// return nil, e
// }
// return d, nil
//}
// 判断obj是否在target中,target支持的类型 arrary, slice, map
func Contain(obj interface{}, target interface{}) (bool, error) {
targetValue := reflect.ValueOf(target)
switch reflect.TypeOf(target).Kind() {
case reflect.Slice, reflect.Array:
for i := 0; i < targetValue.Len(); i++ {
if targetValue.Index(i).Interface() == obj {
return true, nil
}
}
case reflect.Map:
if targetValue.MapIndex(reflect.ValueOf(obj)).IsValid() {
return true, nil
}
}
return false, errors.New("not in array")
}
Go
1
https://gitee.com/jinxin168/goctp.git
git@gitee.com:jinxin168/goctp.git
jinxin168
goctp
goctp
master

搜索帮助