mirror of
https://github.com/unknwon/the-way-to-go_ZH_CN.git
synced 2025-08-11 22:53:43 +08:00
@@ -100,7 +100,7 @@ Example 5.3 [string_conversion2.go](examples/chapter_5/string_conversion2.go)
|
|||||||
|
|
||||||
**注意事项**
|
**注意事项**
|
||||||
|
|
||||||
如果您想下面一样,没有为多返回值的函数准备足够的变量来存放结果:
|
如果您像下面一样,没有为多返回值的函数准备足够的变量来存放结果:
|
||||||
|
|
||||||
func mySqrt(f float64) (v float64, ok bool) {
|
func mySqrt(f float64) (v float64, ok bool) {
|
||||||
if f < 0 { return } // error case
|
if f < 0 { return } // error case
|
||||||
@@ -138,4 +138,4 @@ Example 5.3 [string_conversion2.go](examples/chapter_5/string_conversion2.go)
|
|||||||
|
|
||||||
- [目录](directory.md)
|
- [目录](directory.md)
|
||||||
- 上一节:[if-else 结构](05.1.md)
|
- 上一节:[if-else 结构](05.1.md)
|
||||||
- 下一节:[switch 结构](05.3.md)
|
- 下一节:[switch 结构](05.3.md)
|
||||||
|
@@ -219,7 +219,7 @@ for t, err = p.Token(); err == nil; t, err = p.Token() {
|
|||||||
|
|
||||||
这是 Go 特有的一种的迭代结构,您会发现它在许多情况下都非常有用。它可以迭代任何一个集合(包括数组和 map,详见第 7 和 8 章)。语法上很类似其它语言中 foreach 语句,但您依旧可以获得每次迭代所对应的索引。一般形式为:`for ix, val := range coll { }`。
|
这是 Go 特有的一种的迭代结构,您会发现它在许多情况下都非常有用。它可以迭代任何一个集合(包括数组和 map,详见第 7 和 8 章)。语法上很类似其它语言中 foreach 语句,但您依旧可以获得每次迭代所对应的索引。一般形式为:`for ix, val := range coll { }`。
|
||||||
|
|
||||||
要注意的是,`val` 始终为集合中对应索引的值拷贝,因此它一般只具有只读性质,对它所做的任何修改都不会影响到集合中原有的值(** 译者注:如果 `val` 为指针,则会产生指针的拷贝,依旧可以修改集合中的原值 **)。一个字符串是 Unicode 编码的字符(或称之为 `rune`)集合,因此您也可以用它迭代字符串:
|
要注意的是,`val` 始终为集合中对应索引的值拷贝,因此它一般只具有只读性质,对它所做的任何修改都不会影响到集合中原有的值(**译者注:如果 `val` 为指针,则会产生指针的拷贝,依旧可以修改集合中的原值**)。一个字符串是 Unicode 编码的字符(或称之为 `rune`)集合,因此您也可以用它迭代字符串:
|
||||||
|
|
||||||
```
|
```
|
||||||
for pos, char := range str {
|
for pos, char := range str {
|
||||||
@@ -372,4 +372,4 @@ for i, j, s := 0, 5, "a"; i < 3 && j < 100 && s != "aaaaa"; i, j,
|
|||||||
|
|
||||||
- [目录](directory.md)
|
- [目录](directory.md)
|
||||||
- 上一节:[switch 结构](05.3.md)
|
- 上一节:[switch 结构](05.3.md)
|
||||||
- 下一节:[Break 与 continue](05.5.md)
|
- 下一节:[Break 与 continue](05.5.md)
|
||||||
|
Reference in New Issue
Block a user