sync.Map

这是一种线程安全的map用法,在版本1.9时出现,按照以前的用法,多协程情况下,需要使用将map和锁一起使用才可以做到线程安全,而现在可直接使用该类型。

以下内容取自Go1.9 安全map用法

1535253147536

Gin框架

encoding/json 貌似不支持required json tag,实际验证好像也不支持,这个字段表示传递的json数据没有这个字段就会报错。

GIN框架补充了这个字段,使用binding tag,如果没有该字段,直接报错。

img

c.BindQuery可以直接把Query映射出来,当然可以操作form表单的数据,操作及其方便,涉及到反射操作,还有检查的时间。

文件下载

指定浏览器直接下载文件,且使用文件下载原名,其不进行打开操作。

https://segmentfault.com/q/1010000000692593

https://golangtc.com/t/54d9ca47421aa9170200000f

指定下载文件名

golang filepath.Ext 获取文件后缀名

时间戳格式变换为YYYYMMDD

//返回现在时间

tNow:=time.Now()

//时间转化为string,layout必须为"2006-01-0215:04:05"

timeNow:=tNow.Format(“20060102”)

fmt.Println(“tNow(timeformat):”,tNow)

fmt.Println(“tNow(stringformat):”,timeNow)

数据库操作

Gorm使用first、find查询单个参数时,没有查到会返回not found错误,当Find使用数组去接数据时,没有找到也不会报错。

MySQL时间类型:

MySQL时间类参数

MySQL 中timestamp 类型使用默认值CURRENT_TIMESTAMP创建成功,使用datetime则不行。

时间戳和时间格式的转换:

1535287353268

转换成:

时间戳

as用法