defer_tracing.go 321 B

12345678910111213141516171819202122
  1. package main
  2. import "fmt"
  3. func trace(s string) { fmt.Println("entering:", s) }
  4. func untrace(s string) { fmt.Println("leaving:", s) }
  5. func a() {
  6. trace("a")
  7. defer untrace("a")
  8. fmt.Println("in a")
  9. }
  10. func b() {
  11. trace("b")
  12. defer untrace("b")
  13. fmt.Println("in b")
  14. a()
  15. }
  16. func main() {
  17. b()
  18. }