Unknwon hace 11 años
padre
commit
d8608c6c23
Se han modificado 4 ficheros con 58 adiciones y 45 borrados
  1. 1 1
      README.md
  2. 50 41
      eBook/08.3.md
  3. 6 3
      eBook/08.4.md
  4. 1 0
      eBook/directory.md

+ 1 - 1
README.md

@@ -9,7 +9,7 @@
 
 ## 翻译进度
 
-8.2 [测试键值对是否存在及删除元素](eBook/08.2.md)
+8.3 [for-range 的配套用法](eBook/08.3.md)
 
 ## 支持本书
 

+ 50 - 41
eBook/08.3.md

@@ -1,40 +1,46 @@
 # 8.3 for-range 的配套用法
 
-190
-
-可以使用for循环构造map:
-
+可以使用 for 循环构造 map:
+
+```go
+for key, value := range map1 {
+	...
+}
+```
+
+第一个返回值 key 是 map 中的 key 值,第二个返回值则是该 key 对应的 value 值;这两个都是仅 for 循环内部可见的局部变量。其中第一个返回值key值是一个可选元素。如果你只关心值,可以这么使用:
+
+```go
+for _, value := range map1 {
+	...
+}
+```
+
+如果只想获取 key,你可以这么使用:
+
+```go
+for key := range map1 {
+	fmt.Printf("key is: %d\n", key)
+}
+```
+
+示例 8.5 [maps_forrange.go](examples/chapter_8/maps_forrange.go):
+
+```go
+package main
+import "fmt"
+
+func main() {
+	map1 := make(map[int]float32)
+	map1[1] = 1.0
+	map1[2] = 2.0
+	map1[3] = 3.0
+	map1[4] = 4.0
 	for key, value := range map1 {
-		...
+		fmt.Printf("key is: %d - value is: %f\n", key, value)
 	}
-
-第一个返回值key是map中的key值,第二个返回值则是该key对应的value值;这两个都是仅for循环内部可见的局部变量。其中第一个返回值key值是一个可选元素。如果你只关心值,可以这么使用
-
-	for _, value := range map1 {
-		...
-	}
-
-如果只想获取key,你可以这么使用:
-
-	for key := range map1 {
-		fmt.Printf("key is: %d\n", key)
-	}
-
-示例 8.5 [maps_forrange.go](examples/chapter_8/maps_forrange.go)
-
-    package main
-    import "fmt"
-
-    func main() {
-    	map1 := make(map[int]float32)
-    	map1[1] = 1.0
-    	map1[2] = 2.0
-    	map1[3] = 3.0
-    	map1[4] = 4.0
-    	for key, value := range map1 {
-    		fmt.Printf("key is: %d - value is: %f\n", key, value)
-    	}
-    }
+}
+```
 
 输出结果:
 
@@ -47,16 +53,19 @@
 
 问题 8.1: 下面这段代码的输出是什么?
 
-	capitals := map[string] string {"France":"Paris", "Italy":"Rome", "Japan":"Tokyo" }
-	for key := range capitals {
-		fmt.Println("Map item: Capital of", key, "is", capitals[key])
-	}
+```go
+capitals := map[string] string {"France":"Paris", "Italy":"Rome", "Japan":"Tokyo" }
+for key := range capitals {
+	fmt.Println("Map item: Capital of", key, "is", capitals[key])
+}
+```
 
-练习 8.1: map_days.go
+**练习 8.1**
 
 创建一个map来保存每周7天的名字,将它们打印出来并且测试是否存在tuesday和hollyday。
 
-##链接
+## 链接
+
 - [目录](directory.md)
-- 上一节:[删除元素](08.2.md)
-- 下一节:[maps分片](08.4.md)
+- 上一节:[测试键值对是否存在及删除元素](08.2.md)
+- 下一节:[map 分片](08.4.md)

+ 6 - 3
eBook/08.4.md

@@ -1,11 +1,14 @@
-#8.3 map分片
+# 8.3 map 分片
+
+191
+
 假设我们想获取一个map的分片,我们必须使用两次make()方法,第一次分配slice,第二次分配slice的每个map元素(参见下面的例子8.3)。
 
 示例 8.3 [maps_forrange.go](examples/chapter_8/maps_forrange.go)
 
     package main
     import "fmt"
-    
+
     func main() {
     	// Version A:
     	items := make([]map[int]int, 5)
@@ -14,7 +17,7 @@
     		items[i][1] = 2
     	}
     	fmt.Printf("Version A: Value of items: %v\n", items)
-    
+
     	// Version B: NOT GOOD!
     	items2 := make([]map[int]int, 5)
     	for _, item := range items2 {

+ 1 - 0
eBook/directory.md

@@ -69,6 +69,7 @@
 	- 8.1 [声明、初始化和 make](08.1.md)
 	- 8.2 [测试键值对是否存在及删除元素](08.2.md)
 	- 8.3 [for-range 的配套用法](08.3.md)
+	- 8.4 [map 分片](08.4.md)
 - 第9章:包(package)
 - 第10章:结构(struct)与方法(method)
 - 第11章:接口(interface)与反射(reflection)