书接上回,更多内容请移步主页查看“后端技术学习总结|青训营”系列。
Go语言语法初步讲解
-
json处理(略,字段首大写即可用marshaler去序列化)
-
时间处理,time.Now,时间戳
import (
"fmt"
"time"
)
func main() {
now := time.Now()
fmt.Println(now) // 2022-03-27 18:04:59.433297 +0800 CST m=+0.000087933
t := time.Date(2022, 3, 27, 1, 25, 36, 0, time.UTC)
t2 := time.Date(2022, 3, 27, 2, 30, 36, 0, time.UTC)
//直接打印
fmt.Println(t) // 2022-03-27 01:25:36 +0000 UTC
//规范格式1
fmt.Println(t.Year(), t.Month(), t.Day(), t.Hour(), t.Minute()) // 2022 March 27 1 25
//规范格式2
fmt.Println(t.Format("2006-01-02 15:04:05")) // 2022-03-27 01:25:36
//输出两个时间的差
diff := t2.Sub(t)
fmt.Println(diff) // 1h5m0s
//另类格式
fmt.Println(diff.Minutes(), diff.Seconds()) // 65 3900
//将字符串格式的时间解析为 time.Time 类型的值
t3, err := time.Parse("2006-01-02 15:04:05", "2022-03-27 01:25:36")
//异常处理
if err != nil {
panic(err)
}
fmt.Println(t3 == t) // true
//获取时间戳
fmt.Println(now.Unix()) // 1648738080
}
时间戳的存在能够很好地规避字符串到时间出现乱码的问题。从某种意义上说为本菜鸟在Java语言上无法解决的“字符串转存”问题提供了较好的实现途径,而更加简洁的Go语言语法也给予了更多操作的可能性,期待下一次课程!