diff --git a/zh-CN/concurrency.md b/zh-CN/concurrency.md index 855609a94..0a511b7aa 100644 --- a/zh-CN/concurrency.md +++ b/zh-CN/concurrency.md @@ -50,23 +50,17 @@ func TestCheckWebsites(t *testing.T) { "waat://furhurterwe.geds", } - actualResults := CheckWebsites(mockWebsiteChecker, websites) + want := map[string]bool{ + "http://google.com": true, + "http://blog.gypsydave5.com": true, + "waat://furhurterwe.geds": false, + } - want := len(websites) - got := len(actualResults) - if want != got { - t.Fatalf("Wanted %v, got %v", want, got) - } - - expectedResults := map[string]bool{ - "http://google.com": true, - "http://blog.gypsydave5.com": true, - "waat://furhurterwe.geds": false, - } + got := CheckWebsites(mockWebsiteChecker, websites) - if !reflect.DeepEqual(expectedResults, actualResults) { - t.Fatalf("Wanted %v, got %v", expectedResults, actualResults) - } + if !reflect.DeepEqual(want, got) { + t.Fatalf("Wanted %v, got %v", want, got) + } } ``` 该功能在生产环境中被用于检查数百个网站。但是你的同事开始抱怨它速度很慢,所以他们请你帮忙为程序提速。 diff --git a/zh-CN/maps.md b/zh-CN/maps.md index d0a0bb7b1..7465ef987 100644 --- a/zh-CN/maps.md +++ b/zh-CN/maps.md @@ -452,7 +452,7 @@ func TestUpdate(t *testing.T) { } ``` -`Update` 与 `Create` 密切相关,这是下一个需要我们实现的方法。 +`Update` 与 `Add` 密切相关,这是下一个需要我们实现的方法。 ## 尝试运行测试 @@ -476,7 +476,7 @@ dictionary_test.go:55: got 'this is just a test' want 'new definition' ## 编写足够的代码使测试通过 -当我们用 `Create` 解决问题时就明白了如何处理这个问题。所以让我们实现一个与 `Create` 非常相似的方法。 +当我们用 `Add` 解决问题时就明白了如何处理这个问题。所以让我们实现一个与 `Add` 非常相似的方法。 ```go func (d Dictionary) Update(word, definition string) { @@ -484,7 +484,7 @@ func (d Dictionary) Update(word, definition string) { } ``` -我们不需要对此进行重构,因为更改很简单。但是,我们现在遇到与 `Create` 相同的问题。如果我们传入一个新单词,`Update` 会将它添加到字典中。 +我们不需要对此进行重构,因为更改很简单。但是,我们现在遇到与 `Add` 相同的问题。如果我们传入一个新单词,`Update` 会将它添加到字典中。 ## 首先编写测试 @@ -626,7 +626,7 @@ func (d Dictionary) Delete(word string) { Go 的 map 有一个内置函数 `delete`。它需要两个参数。第一个是这个 map,第二个是要删除的键。 -`delete` 函数不返回任何内容,我们基于相同的概念构建 `Delete` 方法。由于删除一个不存在的值是没有影响的,与我们的 `Update` 和 `Create` 方法不同,我们不需要用错误复杂化 API。 +`delete` 函数不返回任何内容,我们基于相同的概念构建 `Delete` 方法。由于删除一个不存在的值是没有影响的,与我们的 `Update` 和 `Add` 方法不同,我们不需要用错误复杂化 API。 ## 总结