更改病句: 为什么...的原因

This commit is contained in:
Stephano George 2020-08-09 16:08:22 +08:00
parent b5f4255a92
commit b894bbac5f
2 changed files with 2 additions and 2 deletions

View File

@ -41,6 +41,6 @@ type Rand struct{ /* ... */ }
func New(source Source) *Rand func New(source Source) *Rand
``` ```
这可能导致一些名字重复例如template.Template或rand.Rand这就是为什么这些种类的包名往往特别短的原因之一。 这可能导致一些名字重复例如template.Template或rand.Rand这就是这些种类的包名往往特别短的原因之一。
在另一个极端还有像net/http包那样含有非常多的名字和种类不多的数据类型因为它们都是要执行一个复杂的复合任务。尽管有将近二十种类型和更多的函数但是包中最重要的成员名字却是简单明了的Get、Post、Handle、Error、Client、Server等。 在另一个极端还有像net/http包那样含有非常多的名字和种类不多的数据类型因为它们都是要执行一个复杂的复合任务。尽管有将近二十种类型和更多的函数但是包中最重要的成员名字却是简单明了的Get、Post、Handle、Error、Client、Server等。

View File

@ -33,4 +33,4 @@ func Sprint(x interface{}) string {
但是我们如何处理其它类似[]float64、map[string][]string等类型呢我们当然可以添加更多的测试分支但是这些组合类型的数目基本是无穷的。还有如何处理类似url.Values这样的具名类型呢即使类型分支可以识别出底层的基础类型是map[string][]string但是它并不匹配url.Values类型因为它们是两种不同的类型而且switch类型分支也不可能包含每个类似url.Values的类型这会导致对这些库的依赖。 但是我们如何处理其它类似[]float64、map[string][]string等类型呢我们当然可以添加更多的测试分支但是这些组合类型的数目基本是无穷的。还有如何处理类似url.Values这样的具名类型呢即使类型分支可以识别出底层的基础类型是map[string][]string但是它并不匹配url.Values类型因为它们是两种不同的类型而且switch类型分支也不可能包含每个类似url.Values的类型这会导致对这些库的依赖。
没有办法来检查未知类型的表示方式,我们被卡住了。这就是我们为何需要反射的原因。 没有办法来检查未知类型的表示方式,我们被卡住了。这就是我们需要反射的原因。