Go 语言中的延迟执行【defer】(Let's Go 二十二)

函数作为另一个函数的形参,这就是Go当中的回调函数。

1、延迟执行


package main

import (
    "fmt"
)

func main() {
    //最后执行a
    defer fmt.Println("https://qiucode.cn")

    fmt.Println("秋码记录")

    defer fmt.Println("qiucode.cn")
}

img

2、将函数作为其他函数的参数

函数可以作为其它函数的参数进行传递,然后在其它函数内调用执行,一般称之为回调。

package main

import (
    "fmt"
)

func main() {
    callFun(3, add)
}

func add(num1, num2 int) {
    fmt.Println("两个数相加:", num1+num2)
}

func callFun(num int, callBack func(int, int)) {
    callBack(num, 5)
}

img