mirror of
https://github.com/golang/go
synced 2024-11-23 04:30:03 -07:00
spec: clarify that iota is incremented even if not used in a const spec
Slightly modified an example. Fixes #13371. Change-Id: I25d260d4200086a0ef9725950132b760657610c5 Reviewed-on: https://go-review.googlesource.com/17209 Reviewed-by: Rob Pike <r@golang.org>
This commit is contained in:
parent
8818cc8885
commit
09e900eb33
@ -1,6 +1,6 @@
|
||||
<!--{
|
||||
"Title": "The Go Programming Language Specification",
|
||||
"Subtitle": "Version of October 20, 2015",
|
||||
"Subtitle": "Version of November 25, 2015",
|
||||
"Path": "/ref/spec"
|
||||
}-->
|
||||
|
||||
@ -1789,26 +1789,27 @@ It can be used to construct a set of related constants:
|
||||
</p>
|
||||
|
||||
<pre>
|
||||
const ( // iota is reset to 0
|
||||
const ( // iota is reset to 0
|
||||
c0 = iota // c0 == 0
|
||||
c1 = iota // c1 == 1
|
||||
c2 = iota // c2 == 2
|
||||
)
|
||||
|
||||
const (
|
||||
a = 1 << iota // a == 1 (iota has been reset)
|
||||
const ( // iota is reset to 0
|
||||
a = 1 << iota // a == 1
|
||||
b = 1 << iota // b == 2
|
||||
c = 1 << iota // c == 4
|
||||
c = 3 // c == 3 (iota is not used but still incremented)
|
||||
d = 1 << iota // d == 8
|
||||
)
|
||||
|
||||
const (
|
||||
const ( // iota is reset to 0
|
||||
u = iota * 42 // u == 0 (untyped integer constant)
|
||||
v float64 = iota * 42 // v == 42.0 (float64 constant)
|
||||
w = iota * 42 // w == 84 (untyped integer constant)
|
||||
)
|
||||
|
||||
const x = iota // x == 0 (iota has been reset)
|
||||
const y = iota // y == 0 (iota has been reset)
|
||||
const x = iota // x == 0 (iota has been reset)
|
||||
const y = iota // y == 0 (iota has been reset)
|
||||
</pre>
|
||||
|
||||
<p>
|
||||
|
Loading…
Reference in New Issue
Block a user