回到简体

This commit is contained in:
chai2010
2016-02-15 11:06:34 +08:00
parent 9e878f9944
commit 2b37b23285
177 changed files with 2354 additions and 2354 deletions

View File

@@ -1,8 +1,8 @@
### 3.6.1. iota 常量生成器
常量明可以使用iota常量生成器初始化它用生成一以相似規則初始化的常量,但是不用每行都一遍初始化表式。在一const聲明語句中,在第一個聲明的常量所在的行iota將會被置0在每一有常量明的行加一。
常量明可以使用iota常量生成器初始化它用生成一以相似规则初始化的常量,但是不用每行都一遍初始化表式。在一const声明语句中,在第一个声明的常量所在的行iota将会被置0在每一有常量明的行加一。
下面是自time包的例子它首先定了一Weekday命名型,然後爲一週的每天定了一常量,從週日0始。在其它編程語言中,這種類型一般被稱爲枚舉類型。
下面是自time包的例子它首先定了一Weekday命名型,然后为一周的每天定了一常量,从周日0始。在其它编程语言中,这种类型一般被称为枚举类型。
```Go
type Weekday int
@@ -18,9 +18,9 @@ const (
)
```
週一將對應0週一爲1如此等等。
周一将对应0周一为1如此等等。
也可以在複雜的常量表式中使用iota下面是自net包的例子於給一個無符號整數的最低5bit的每bit指定一名字:
也可以在复杂的常量表式中使用iota下面是自net包的例子于给一个无符号整数的最低5bit的每bit指定一名字:
```Go
type Flags uint
@@ -34,7 +34,7 @@ const (
)
```
着iota的增,每常量對應表達式1 << iota連續的2的分别對應一個bit位置使用些常量可以用於測試置或清除對應的bit位的值
着iota的增,每常量对应表达式1 << iota连续的2的分别对应一个bit位置使用些常量可以用于测试置或清除对应的bit位的值
<u><i>gopl.io/ch3/netflag</i></u>
```Go
@@ -54,7 +54,7 @@ unc main() {
}
```
下面是一個更複雜的例子,每常量都是1024的
下面是一个更复杂的例子,每常量都是1024的
```Go
const (
@@ -70,6 +70,6 @@ const (
)
```
iota常量生成規則也有其局限性。例如,它不能用於産生1000的KB、MB等Go語言併沒有計算冪的運算符。
iota常量生成规则也有其局限性。例如,它不能用于产生1000的KB、MB等Go语言并没有计算幂的运算符。
**練習 3.13** 編寫KB、MB的常量明,然後擴展到YB。
**练习 3.13** 编写KB、MB的常量明,然后扩展到YB。