2024-06-02 14:29:35 +08:00
|
|
|
package main
|
|
|
|
|
|
|
|
|
|
func f(s string) bool {
|
2024-06-02 15:24:42 +08:00
|
|
|
return len(s) > 2
|
2024-06-02 14:29:35 +08:00
|
|
|
}
|
|
|
|
|
|
|
|
|
|
func fail() {
|
|
|
|
|
panic("error")
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
func main() {
|
|
|
|
|
defer func() {
|
|
|
|
|
println("hi")
|
2024-06-02 15:24:42 +08:00
|
|
|
/*
|
|
|
|
|
if e := recover(); e != nil {
|
|
|
|
|
println(e.(string))
|
|
|
|
|
}
|
|
|
|
|
*/
|
2024-06-02 14:29:35 +08:00
|
|
|
}()
|
|
|
|
|
if s := "hello"; f(s) {
|
|
|
|
|
defer println(s)
|
|
|
|
|
} else {
|
|
|
|
|
defer println("world")
|
|
|
|
|
fail()
|
|
|
|
|
}
|
|
|
|
|
defer println("bye")
|
|
|
|
|
}
|