time包及错误处理
时间和日期
函数都在time
包中
- 如何获取当前的时间:年月日及具体时间等
- 如何实现时间的格式化
错误处理机制:
- 通过
defer
进行处理 - 通过
panic
和recover
进行处理
1 | package main |
时间常量
在程序中获取指定时间的单位:1000 * time.Millisencond
1 | const( |
1 | package main |
Unix和UnixNano
两个函数返回的是从1970/01/01 00:00:00
到现在的秒或者纳秒
- Unix
1 | func (t Time) Unix() int64 |
-
UnixNano
1
func (t Time) UnixNano() int64
1
2
3
4
5
6
7
8
9
10
11
12
13
14package main
import (
"fmt"
"time"
)
func main(){
// 获取当前时间
now := time.Now()
fmt.Println(now)
// 获取时间戳
fmt.Printf("unix时间戳=%v unixnano时间戳=%v\n", now.Unix(), now.UnixNano())
}
练习题
1 | package main |
内置函数
- new()
- 主要是分配值类型的内存:int\float32\struct
- 返回的是指针
1 | package main |
- make()
- 给引用类型分配内存:channel、slice、map
错误处理机制
- defer
- panic
- recover
go中可以抛出一个panic的异常,通过defer的recover捕获这个异常,然后处理。
1 | package main |
自定义错误
errors.New
(“错误说明”),返回一个error类型的值,表示一个错误panic
内置函数,接收一个interface()
类型的值,输出错误信息,退出程序
1 | package main |