diff --git a/stage02-control-flow/04-defer/main.go b/stage02-control-flow/04-defer/main.go index 8ac7872..360d16e 100644 --- a/stage02-control-flow/04-defer/main.go +++ b/stage02-control-flow/04-defer/main.go @@ -6,7 +6,7 @@ func exercise1() { fmt.Println("=== 练习1:defer基本用法 ===") // 使用defer,在函数结束时打印"函数结束" - ____ + defer fmt.Println("函数结束") fmt.Println("函数执行中") } @@ -15,9 +15,9 @@ func exercise2() { // 使用多个defer语句,按照1-2-3的顺序声明 // 观察输出的顺序(应该是3-2-1) - ____ - ____ - ____ + defer fmt.Print(1) + defer fmt.Print(2) + defer fmt.Print(3) fmt.Println("正常执行") } @@ -27,13 +27,13 @@ func exercise3() int { // 使用具名返回值result // defer函数中将result修改为100 // return返回50 - var ____ int = ____ + var result int = 100 defer func() { - ____ = ____ + result = 50 }() - return ____ + return result } func exercise4() { @@ -43,7 +43,7 @@ func exercise4() { // 使用defer打印i的值 // 注意:defer声明时就对参数求值了 - ____ + defer fmt.Println(i) i = 10 fmt.Println("修改i为:", i) @@ -58,7 +58,7 @@ func exercise5() { // 使用defer在函数结束时关闭资源 defer func() { - fmt.Println("关闭:", ____) + fmt.Println("关闭:", resource) }() fmt.Println("使用:", resource) @@ -71,15 +71,15 @@ func exercise6() { // 每个defer捕获当前i的值并打印 // 提示:使用闭包或立即求值 for i := 1; i <= 3; i++ { - ____ func(n int) { + defer func(n int) { fmt.Printf("defer输出: %d\n", n) - }(____) + }(i) fmt.Println("循环输出:", i) } } func main() { - fmt.Println("=== defer 练习 ===\n") + fmt.Println("=== defer 练习 ===") exercise1() exercise2()