mirror of
https://github.com/unknwon/the-way-to-go_ZH_CN.git
synced 2025-08-12 01:55:35 +08:00
精校:6.4
This commit is contained in:
@@ -4,7 +4,7 @@
|
||||
|
||||
关键字 defer 的用法类似于面向对象编程语言 Java 和 C# 的 `finally` 语句块,它一般用于释放某些已分配的资源。
|
||||
|
||||
下面这个示例很好地解释了它的用法(Listing 6.8 defer.go):
|
||||
示例 6.8 [defer.go](examples/chapter_6/defer.go):
|
||||
|
||||
```go
|
||||
package main
|
||||
@@ -136,7 +136,7 @@ func untrace(s string) { fmt.Println("leaving:", s) }
|
||||
|
||||
以下代码展示了何时调用两个函数:
|
||||
|
||||
Listing 6.10—_defer_tracing.go:
|
||||
示例 6.10 [defer_tracing.go](examples/chapter_6/defer_tracing.go):
|
||||
|
||||
```go
|
||||
package main
|
||||
@@ -175,7 +175,7 @@ leaving: a
|
||||
leaving: b
|
||||
```
|
||||
|
||||
上面的代码还可以修改为更加简便的版本(Listing 6.11—_defer_tracing2.go):
|
||||
上面的代码还可以修改为更加简便的版本(示例 6.11 [defer_tracing2.go](examples/chapter_6/defer_tracing2.go)):
|
||||
|
||||
```go
|
||||
package main
|
||||
@@ -209,7 +209,7 @@ func main() {
|
||||
|
||||
**使用 defer 语句来记录函数的参数与返回值**
|
||||
|
||||
下面的代码展示了另一种在调试时使用 defer 语句的手法(Listing 6.12—_defer_logvalues.go):
|
||||
下面的代码展示了另一种在调试时使用 defer 语句的手法(示例 6.12 [defer_logvalues.go](examples/chapter_6/defer_logvalues.go)):
|
||||
|
||||
```go
|
||||
package main
|
||||
|
Reference in New Issue
Block a user