Go语言之defer语句

2020-05-31  本文已影响0人  测试探索
1. defer函数或方法

一个函数或方法的执行被延迟了

2. defer的用法:
package main

import "fmt"

func main() {
    defer fun1("hello")
    fmt.Println("12345")
    defer fun1("world")
    fmt.Println("王二狗")
}

func fun1(s string) {
    fmt.Println(s)
}

//结果
12345
王二狗
world
hello
package main

import "fmt"

func main() {
    a := 2
    fmt.Println(a)
    defer fun2(a)
    a++
    fmt.Println(a)
}

func fun2(a int) {
    fmt.Println("fun2()函数中打印a: ",a)
}

func fun1(s string) {
    fmt.Println(s)
}
//结果
主函数中的a:  2
主函数中的a: 3
fun2()函数中打印a:  2
package main

import "fmt"

func main() {
    //defer fun1("hello")
    //fmt.Println("12345")
    //defer fun1("world")
    //fmt.Println("王二狗")

    a := 2
    fmt.Println("主函数中的a: ",a)
    defer fun2(a)
    a++
    fmt.Println("主函数中的a:", a)

    fmt.Println(fun3())
}

func fun3() int{
    fmt.Println("fun3()函数的执行。。。")
    defer fun1("哈哈")
    return 0
}

func fun2(a int) {
    fmt.Println("fun2()函数中打印a: ",a)
}

func fun1(s string) {
    fmt.Println(s)
}

//结果
主函数中的a:  2
主函数中的a: 3
fun3()函数的执行。。。
哈哈
0
fun2()函数中打印a:  2
```--++
上一篇 下一篇

猜你喜欢

热点阅读