zoukankan      html  css  js  c++  java
  • 27_Go基础(defer)

    package main
    
    import (
        "fmt"
    )
    
    // case 1:
    func f1() int {
        x := 5
        defer func() {
            x++
        }()
        return x
    }
    
    func f2() (x int) {
        defer func() {
            x++
        }()
        return 5
    }
    
    func f3() (y int) {
        x := 5
        defer func() {
            x++
        }()
        return x
    }
    func f4() (x int) {
        defer func(x int) {
            x++
        }(x)
        return 5
    }
    
    // case 2:
    func calc(index string, a, b int) int {
        ret := a + b
        fmt.Println(index, a, b, ret)
        return ret
    }
    
    func main() {
        // case 1:
        fmt.Println(f1()) // 5
        fmt.Println(f2()) // 6
        fmt.Println(f3()) // 5
        fmt.Println(f4()) // 5
    
        // case 2:
        x := 1
        y := 2
        defer calc("AA", x, calc("A", x, y))
        x = 10
        defer calc("BB", x, calc("B", x, y))
        y = 20
    
        // A 1 2 3
        // B 10 2 12
        // BB 10 12 22
        // AA 1 3 4
    }
  • 相关阅读:
    Spring MVC
    Spring
    MyBatis
    Java Listener
    Java Filter
    JSTL
    EL
    pyltp安装
    美团面经-java开发
    oppo面经-java开发
  • 原文地址:https://www.cnblogs.com/luwei0915/p/15497720.html
Copyright © 2011-2022 走看看