mirror of
https://github.com/gopl-zh/gopl-zh.github.com.git
synced 2025-08-15 02:51:34 +00:00
make zh2tw
This commit is contained in:
@@ -1,9 +1,9 @@
|
||||
### 3.6.1. iota 常量生成器
|
||||
|
||||
|
||||
常量声明可以使用 iota 常量生成器, 用于生成一组相似的常量值, 但是不用每行都写一遍. 在一个 const 声明语句中, 在开始一行 iota 将会被置为0, 然后在每一个有常量声明的行加一.
|
||||
常量聲明可以使用 iota 常量生成器, 用於生成一組相似的常量值, 但是不用每行都寫一遍. 在一個 const 聲明語句中, 在開始一行 iota 將會被置爲0, 然後在每一個有常量聲明的行加一.
|
||||
|
||||
下面是来自 time 包的例子, 它首先定义了Weekday命名类型, 然后为一周的每天定义一个常量, 从周日0开始. 这种类型一般被称为枚举类型.
|
||||
下面是來自 time 包的例子, 它首先定義了Weekday命名類型, 然後爲一週的每天定義一個常量, 從週日0開始. 這種類型一般被稱爲枚舉類型.
|
||||
|
||||
```Go
|
||||
type Weekday int
|
||||
@@ -19,9 +19,9 @@ const (
|
||||
)
|
||||
```
|
||||
|
||||
周一将对应0, 周一为1, 如此等等.
|
||||
週一將對應0, 週一爲1, 如此等等.
|
||||
|
||||
我们也可以在复杂的常量表达式中使用 iota, 下面是来自 net 包的例子, 用于给一个无符号整数的最低5bit的每个bit给定一个名字:
|
||||
我們也可以在複雜的常量表達式中使用 iota, 下面是來自 net 包的例子, 用於給一個無符號整數的最低5bit的每個bit給定一個名字:
|
||||
|
||||
```Go
|
||||
type Flags uint
|
||||
@@ -35,7 +35,7 @@ const (
|
||||
)
|
||||
```
|
||||
|
||||
随着 iota 的递增, 每个常量对应表达式 1 << iota, 是连续的2的幂, 分别对应一个bit位置. 使用这些常量可以测试, 设置, 或清除对应的bit位的值:
|
||||
隨着 iota 的遞增, 每個常量對應表達式 1 << iota, 是連續的2的冪, 分别對應一個bit位置. 使用這些常量可以測試, 設置, 或清除對應的bit位的值:
|
||||
|
||||
```Go
|
||||
gopl.io/ch3/netflag
|
||||
@@ -56,7 +56,7 @@ unc main() {
|
||||
}
|
||||
```
|
||||
|
||||
下面是一个更复杂的例子, 每个常量都是1024的幂:
|
||||
下面是一個更複雜的例子, 每個常量都是1024的冪:
|
||||
|
||||
```Go
|
||||
const (
|
||||
@@ -72,8 +72,8 @@ const (
|
||||
)
|
||||
```
|
||||
|
||||
iota 机制也有其局限性. 例如, 它并不能用于产生1000的幂(KB,MB,等等), 因为并没有计算幂的运算符.
|
||||
iota 機製也有其局限性. 例如, 它併不能用於産生1000的冪(KB,MB,等等), 因爲併沒有計算冪的運算符.
|
||||
|
||||
**练习3.13:** 编写KB,MB的常量声明, 然后扩展到YB.
|
||||
**練習3.13:** 編寫KB,MB的常量聲明, 然後擴展到YB.
|
||||
|
||||
|
||||
|
Reference in New Issue
Block a user