Go语言踩坑小记
时区
被这个傻卵玩意折磨了一晚上,转换成SQL语句后自己放mySQL运行是正确的,但它自己运行就打死也不对,后来发现是时区的问题,我的那个数后面是+0000,mySQL里面的是+0800( UTC:零时区 +0000, China: 东八区 +0800)
就是说转化的时候要把时区改成当地时区
1 | timestamp1, _ := time.Parse("2006-01-02 15:04:05", dateStr)// 没有设置,为默认时区+0000 |
时间格式化
Go语言中格式化时间模板不是常见的Y-m-d H:M:S
而是使用Go语言的诞生时间 2006-01-02 15:04:05 -0700 MST(感觉有什么大病)
例如:
1 | currentTime := time.Now() |
int int32 int64
1 | int 类型大小为 8 字节 |
go语言中的int的大小是和操作系统位数相关的,如果是32位操作系统,int类型的大小就是4字节; 如果是64位操作系统,int类型的大小就是8个字节
由于GO语言中各int类型的取值范围不同,各int类型间进行数据转换时,会存在数据截断的问题,在使用过程中要引起注意
1 | int8: -128 ~ 127 |
Goland同一个包下无法调用其他文件
问题描述
1 | project |
package都是main,且router中需要调用的已大写,但运行时就是显示调不到
分析
对比在终端使用go build main.go
无法正常调用,使用go build
可以正常使用。
直接在文件上右键运行相当于go build xxx.go
解决方法
编辑配置,运行种类设置为目录,选择运行入口所在的目录即可
gin框架
c.JSON并不会return,记着看看后面是不是需要接return
评论
评论插件加载失败
正在加载评论插件