mirror of
https://github.com/gopl-zh/gopl-zh.github.com.git
synced 2024-12-25 22:38:56 +00:00
fix typo
This commit is contained in:
parent
d3ce2c9ba6
commit
bb71ca05f5
@ -2,7 +2,7 @@
|
|||||||
|
|
||||||
Go语言里的集合一般会用map[T]bool这种形式来表示,T代表元素类型。集合用map类型来表示虽然非常灵活,但我们可以以一种更好的形式来表示它。例如在数据流分析领域,集合元素通常是一个非负整数,集合会包含很多元素,并且集合会经常进行并集、交集操作,这种情况下,bit数组会比map表现更加理想。(译注:这里再补充一个例子,比如我们执行一个http下载任务,把文件按照16kb一块划分为很多块,需要有一个全局变量来标识哪些块下载完成了,这种时候也需要用到bit数组)
|
Go语言里的集合一般会用map[T]bool这种形式来表示,T代表元素类型。集合用map类型来表示虽然非常灵活,但我们可以以一种更好的形式来表示它。例如在数据流分析领域,集合元素通常是一个非负整数,集合会包含很多元素,并且集合会经常进行并集、交集操作,这种情况下,bit数组会比map表现更加理想。(译注:这里再补充一个例子,比如我们执行一个http下载任务,把文件按照16kb一块划分为很多块,需要有一个全局变量来标识哪些块下载完成了,这种时候也需要用到bit数组)
|
||||||
|
|
||||||
一个bit数组通常会用一个无符号数或者称之为“字”的slice或者来表示,每一个元素的每一位都表示集合里的一个值。当集合的第i位被设置时,我们才说这个集合包含元素i。下面的这个程序展示了一个简单的bit数组类型,并且实现了三个函数来对这个bit数组来进行操作:
|
一个bit数组通常会用一个无符号数或者称之为“字”的slice来表示,每一个元素的每一位都表示集合里的一个值。当集合的第i位被设置时,我们才说这个集合包含元素i。下面的这个程序展示了一个简单的bit数组类型,并且实现了三个函数来对这个bit数组来进行操作:
|
||||||
|
|
||||||
<u><i>gopl.io/ch6/intset</i></u>
|
<u><i>gopl.io/ch6/intset</i></u>
|
||||||
```go
|
```go
|
||||||
@ -55,7 +55,7 @@ func (s *IntSet) String() string {
|
|||||||
for j := 0; j < 64; j++ {
|
for j := 0; j < 64; j++ {
|
||||||
if word&(1<<uint(j)) != 0 {
|
if word&(1<<uint(j)) != 0 {
|
||||||
if buf.Len() > len("{") {
|
if buf.Len() > len("{") {
|
||||||
buf.WriteByte('}')
|
buf.WriteByte(' ')
|
||||||
}
|
}
|
||||||
fmt.Fprintf(&buf, "%d", 64*i+j)
|
fmt.Fprintf(&buf, "%d", 64*i+j)
|
||||||
}
|
}
|
||||||
|
Loading…
Reference in New Issue
Block a user