这是我参与「第三届青训营 -后端场」笔记创作活动的的第1篇笔记
时区
被这个东西折磨了一晚上,转换成SQL语句后自己放mySQL运行是正确的,但运行时情况一直不对,后来发现是时区的问题,单步调试时后面是+0000,而MySQL里面的是+0800( UTC:零时区 +0000, China: 东八区 +0800)
也就是说我们转化的时候要将时区改成当地时区
// 未设置,为默认时区+0000
timestamp1, _ := time.Parse("2006-01-02 15:04:05", dateStr)
// 设置为本地时区
timestamp2, _ := time.ParseInLocation("2006-01-02 15:04:05", dateStr, time.Local)
时间格式化
Go语言中格式化时间模板不是常见的Y-m-d H:M:S而是使用Go语言的诞生时间 2006-01-02 15:04:05 -0700 MST
例如:
currentTime := time.Now()
fmt.Println("YYYY.MM.DD : ", currentTime.Format("2006.01.02 15:04:05"))
int int32 int64
int 类型大小为 8 字节
int8 类型大小为 1 字节
int16 类型大小为 2 字节
int32 类型大小为 4 字节
int64 类型大小为 8 字节
go语言中的int的大小是和操作系统位数相关的,如果是32位操作系统,int类型的大小就是4字节; 如果是64位操作系统,int类型的大小就是8个字节
由于GO语言中各int类型的取值范围不同,各int类型间进行数据转换时,会存在数据截断的问题,在使用过程中要引起注意
int8: -128 ~ 127
int16: -32768 ~ 32767
int32: -2147483648 ~ 2147483647
int64: -9223372036854775808 ~ 9223372036854775807
uint8: 0 ~ 255
uint16: 0 ~ 65535
uint32: 0 ~ 4294967295
uint64: 0 ~ 18446744073709551615
Goland同一个包下无法调用其他文件
问题描述
project
|-main.go
|-router.go
package都是main,且router中需要调用的已大写,但运行时就是显示调不到
分析
对比在终端使用go build main.go无法正常调用,使用go build可以正常使用。
直接在文件上右键运行相当于go build xxx.go
解决方法
编辑配置,运行种类设置为目录,选择运行入口所在的目录即可