前言
看开源项目的时候看到一个很好用的包com,找了一下没有官方文档,看了一下源码记录一下常用的函数,不用再自己去动手写了,源码地址:https://github.com/Unknwon/com
一、安装
go get -u github.com/Unkown/com
二、使用
1.url
- func UrlEncode(str string) string {}, url encode
- func UrlDecode(str string) (string, error) {}, url decode
- func Base64Encode(str string) string {}, base64 encode
- func Base64Decode(str string) (string, error), base64 decode
2.path
- func GetGOPATHs() []string {}, 获取gopath
- func HomeDir() (home string, err error), 获取用户家目录
3.string
- func AESGCMEncrypt(key, plaintext []byte) ([]byte, error) {}, AES加密
- func AESGCMDecrypt(key, ciphertext []byte) ([]byte, error) {}, AES解密
- func IsLetter(l uint8) bool {}, 判断字符l是否是英文字母
- func Reverse(s string) string {}, 字符逆序输出
- func Expand(template string, match map[string]string, subs …string) string {}, 替换template中的{k}为match中的match[k],match不匹配则替换成subs[atoi(k)]
- func RandomCreateBytes(n int, alphabets …byte) []byte {}, 创建随机的字节数组,默认为数字和大小写字母,也可以用alphabets指定
- func ToSnakeCase(str string) string {}, 驼峰转蛇形, “FirstName” => “first_name”
4.time
- func Date(ti int64, format string) string {}, int格式的unix时间戳转可读的时间
- func DateS(ts string, format string) string {}, string格式的unix时间戳转可读的时间
- 上面两个函数的format,为时间格式,例如"YYYY-MM-DD HH:mm:ss"
5.slice
- func AppendStr(strs []string, str string) []string {}, 字符串数组追加新的字符串,如果该字符串在切片中存在则不追加
- func CompareSliceStr(s1, s2 []string) bool {}, 判断两个字符串数组是否一样,数组内容和顺序完全一样则返回true
- func CompareSliceStrU(s1, s2 []string) bool {}, 判断两个字符串数组是否一样,只判断内容,忽略顺序
- func IsSliceContainsStr(sl []string, str string) bool {},判断字符串数组是否包含某字符,忽略大小写
- func IsSliceContainsInt64(sl []int64, i int64) bool {}, 同上,不过是判断int64数组是否包含某int64变量
6.regexp
- func IsEmail(email string) bool {},判断字符串是否符合邮件地址的格式
- func IsUrl(url string) bool {}, 判断字符串是否是一个url
7.file
- func HumaneFileSize(s uint64) string {},转换文件大小到方便阅读的形式
- func FileMTime(file string) (int64, error) {}, 返回文件的修改时间
- func FileSize(file string) (int64, error) {}, 返回文件大小,byte
- func Copy(src, dest string) error {}, 复制文件
- func WriteFile(filename string, data []byte) error {},写文件
- func IsFile(filePath string) bool {}, 判断路径是否为一个文件
- func IsExist(path string) bool {}, 判断路径是否存在,无论是文件还是文件夹
8.dir
-
<