github.com/cnboonhan/delve@v0.0.0-20230908061759-363f2388c2fb/_fixtures/defercall.go (about)

     1  package main
     2  
     3  var n = 0
     4  
     5  func sampleFunction() {
     6  	n++
     7  }
     8  
     9  func callAndDeferReturn() {
    10  	defer sampleFunction()
    11  	sampleFunction()
    12  	n++
    13  }
    14  
    15  func callAndPanic2() {
    16  	defer sampleFunction()
    17  	sampleFunction()
    18  	panic("panicking")
    19  }
    20  
    21  func callAndPanic() {
    22  	defer recover()
    23  	callAndPanic2()
    24  }
    25  
    26  func main() {
    27  	callAndDeferReturn()
    28  	callAndPanic()
    29  }