Files
llgo/compiler/cl/_testgo/defer4/in.go

30 lines
389 B
Go
Raw Normal View History

2024-06-13 13:51:36 +08:00
package main
func f(s string) bool {
return len(s) > 2
}
func fail() {
defer println("bye")
defer func() {
if e := recover(); e != nil {
println("recover:", e.(string))
}
}()
panic("panic message")
}
func main() {
defer func() {
println("hi")
}()
if s := "hello"; f(s) {
defer println(s)
} else {
defer println("world")
return
}
fail()
println("reachable")
}