笔记整理全部整理于文档库页面 点我前往

这个小节有点杂 啥都有 后面会补充一下的

常用时间函数

此时刻 time.now()

1
2
3
func main(){
fmt.Println(time.Now()) // 2021-07-08 20:49:57.63555 +0800 CST m=+0.000343241
}

此年月日时分秒 time.Year()

1
2
3
4
func main(){
fmt.Println(now.Year()) // 2021
// 类似的还有 Month Day Hour Minute Second
}

取时间戳 time.Unix()

1
2
3
func main(){
fmt.Println(time.Unix(1, 1))
}

常用内置函数

分配内存 new()

其实new的用法远比我目前理解的要多,目前仅写出我所学范围内的,后面学到了再补充。

可能理解的不到位 后面会再来补充修改的

1
2
3
4
func main(){
num := new(int)
// 代码很简单 但是画个图更容易理解
}

image-20210708213510079

错误处理机制

系统内置错误 Defer() Recover()

使用 defer + recover 捕获处理异常 提升代码的健壮性 不会轻易狗带

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
func test(){
// 异常捕获
defer func(){
if err := recover() err != nil{
fmt.Println("ERROR, %v \n", err)
}
}()
num1 := 1
num2 := 0
result = num1 / num2 // panic 被除数不能为0
fmt.Println(result)
}

func main(){
test()
fmt.Println("wow") // 可以正常执行 错误代码之后的内容
}

自定义错误 errors.New()

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
func checkPass(string password) (err error) {
if password == "123456"{
return nil
}else{
return errors.New("PANIC: PASSWORD WRONG") //设置自定义错误
}
}

func main(){
if err := checkPass("12345"); err != nil{
panic(err) // 程序抛出自定义错误内容 并终止程序
}else{
fmt.Println("Password OK!")
}
}