第6章,部分字词修订。

This commit is contained in:
zhliner
2017-08-24 22:28:33 +08:00
parent ff3c5b0a70
commit 9a9b9a0594
5 changed files with 13 additions and 13 deletions

View File

@@ -12,13 +12,13 @@ type IntSet struct {
}
```
当然我们也可以把IntSet定义为一个slice类型尽管这样我们就需要把代码中所有方法里用到的s.words用`*s`替换掉了:
当然我们也可以把IntSet定义为一个slice类型这样我们就需要把代码中所有方法里用到的s.words用`*s`替换掉了:
```go
type IntSet []uint64
```
尽管这个版本的IntSet在本质上是一样的他也可以允许其它包中可以直接读取并编辑这个slice。换句话说相对`*s`这个表达式会出现在所有的包中s.words只需要在定义IntSet的包中出现(译注:所以还是推荐后者吧的意思)。
尽管这个版本的IntSet在本质上是一样的但它也允许其它包中可以直接读取并编辑这个slice。换句话说相对`*s`这个表达式会出现在所有的包中s.words只需要在定义IntSet的包中出现(译注:所以还是推荐后者吧的意思)。
这种基于名字的手段使得在语言中最小的封装单元是package而不是像其它语言一样的类型。一个struct类型的字段对同一个包的所有代码都有可见性无论你的代码是写在一个函数还是一个方法里。