From 51ebd89dc3f974e9c2d9879466f5d8790aecb900 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E5=90=AF=E7=A8=8B?= Date: Wed, 10 Jan 2018 21:23:52 +0800 Subject: [PATCH] =?UTF-8?q?fix=E4=BB=A3=E7=A0=81=E9=94=99=E8=AF=AF=20fix?= =?UTF-8?q?=E6=8F=8F=E8=BF=B0=E9=94=99=E8=AF=AF?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- ch1-basic/ch1-07-error-and-panic.md | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/ch1-basic/ch1-07-error-and-panic.md b/ch1-basic/ch1-07-error-and-panic.md index c1cc901..c9b3826 100644 --- a/ch1-basic/ch1-07-error-and-panic.md +++ b/ch1-basic/ch1-07-error-and-panic.md @@ -8,7 +8,7 @@ ```go if v, ok := m["key"]; ok { - return value + return v } ``` @@ -66,7 +66,7 @@ func CopyFile(dstName, srcName string) (written int64, err error) { } ``` -上面的代码虽然能够工作,但是隐藏一个bug。如果第二个`os.Open`调用失败,那么会在没有释放`src`文件资源的情况下返回。虽然我们可以通过在第二个返回语句前添加`src.Close()`调用来修复这个BUG;但是当代码变得复杂时,类似的问题将很难被发现和修复。我们可以通过`defer`语句来确保每个被正常打开的文件都能被正常关闭: +上面的代码虽然能够工作,但是隐藏一个bug。如果第一个`os.Open`调用失败,那么会在没有释放`src`文件资源的情况下返回。虽然我们可以通过在第二个返回语句前添加`src.Close()`调用来修复这个BUG;但是当代码变得复杂时,类似的问题将很难被发现和修复。我们可以通过`defer`语句来确保每个被正常打开的文件都能被正常关闭: ```go func CopyFile(dstName, srcName string) (written int64, err error) {