摘要: 先去获取redis中value,没有,get setnx的key,如果返回key已经存在,则用get获取key的value,判断value中的时间是否超时,如果没有超时直接返回,如果超时则使用getset设置value为当前时间+超时时间,然后判断返回的value也就是旧的超时时间是否和get获取到 阅读全文
posted @ 2019-04-16 10:43 追逐~~~ 阅读(125) 评论(0) 推荐(0) 编辑
摘要: golang中string底层是通过byte数组实现的。中文字符在unicode下占2个字节,在utf-8编码下占3个字节,golang默认编码是utf-8。 如果想得到字符串真正的长度(一个中文算一位),需要将字符串转换为rune,在求长度。 但是用range遍历包含中文的字符串时,会发现第一个f 阅读全文
posted @ 2019-04-16 10:13 追逐~~~ 阅读(1174) 评论(0) 推荐(0) 编辑
摘要: golang使用xorm连接数据库后,插入结构体,无法返回自增主键id,饭后的主键id都是0。经过研究发现,如果给结构体id设置xorm tag,则会默认id为0,不会返回插入成功后的主键id。 xorm文档中如下描述 阅读全文
posted @ 2018-12-08 17:16 追逐~~~ 阅读(9556) 评论(0) 推荐(0) 编辑
摘要: 1 func VerifyEmailFormat(email string) bool { 2 pattern := `\w+([-+.]\w+)*@\w+([-.]\w+)*\.\w+([-.]\w+)*` //匹配电子邮箱 3 reg := regexp.MustCompile(pattern) 4 return reg.MatchString(email) ... 阅读全文
posted @ 2018-12-05 18:02 追逐~~~ 阅读(6781) 评论(0) 推荐(0) 编辑
摘要: 加密:ASE加密后使用base64编码 解密:base64解码后使用ASE解密 阅读全文
posted @ 2018-12-04 11:30 追逐~~~ 阅读(2017) 评论(0) 推荐(0) 编辑
摘要: publicKey和privateKey的内容是在linux下分别执行 阅读全文
posted @ 2018-11-16 15:35 追逐~~~ 阅读(861) 评论(0) 推荐(0) 编辑
摘要: 当我们用http发送消息时,可以指定为gzip压缩,对数据进行压缩后再传输不仅可以节省带宽还可以加快传输速度,对于双方而言都是一件能够取得更大收益的事情。 废话不多说,直接上代码 http_server.go http_client.go 阅读全文
posted @ 2018-11-15 16:44 追逐~~~ 阅读(8359) 评论(0) 推荐(0) 编辑
摘要: zap是Uber开源的高性能log包。 all.log内容 阅读全文
posted @ 2018-11-15 16:37 追逐~~~ 阅读(12392) 评论(0) 推荐(0) 编辑
摘要: 在开发过程中, 标准库返回的error内容已经无法满足我们的需要时,发现builtin.go中error是一个interface, type error interface { Error() string } type error interface { Error() string } type 阅读全文
posted @ 2018-10-29 19:45 追逐~~~ 阅读(9476) 评论(0) 推荐(0) 编辑
摘要: docker 命令: docker run --rm -v "$PWD":/go/src/github.com/ymmb/test --privileged=true -w /go/src/github.com/ymmb/test golang:1.8.3 go build -v -o test 1 阅读全文
posted @ 2018-09-14 17:07 追逐~~~ 阅读(1648) 评论(0) 推荐(0) 编辑