array->slice

This commit is contained in:
D 2016-01-08 19:02:59 +08:00
parent 8d5ac95935
commit 178f6e769b

View File

@ -101,7 +101,7 @@ visitAll := func(items []string) {
}
```
在topsort中首先對prereqs中的key排序再調用visitAll。因爲prereqs映射的是數組而不是更複雜的map所以數據的遍歷次序是固定的這意味着你每次運行topsort得到的輸出都是一樣的。 topsort的輸出結果如下:
在topsort中首先對prereqs中的key排序再調用visitAll。因爲prereqs映射的是切片而不是更複雜的map所以數據的遍歷次序是固定的這意味着你每次運行topsort得到的輸出都是一樣的。 topsort的輸出結果如下:
```
1: intro to programming
@ -119,7 +119,7 @@ visitAll := func(items []string) {
13: programming languages
```
讓我們迴到findLinks這個例子。我們將代碼移動到了links包下將函數重命名爲Extract在第八章我們會再次用到這個函數。新的匿名函數被引入用於替換原來的visit函數。該匿名函數負責將新連接添加到數組中。在Extract中使用forEachNode遍歷HTML頁面由於Extract隻需要在遍歷結點前操作結點所以forEachNode的post參數被傳入nil。
讓我們迴到findLinks這個例子。我們將代碼移動到了links包下將函數重命名爲Extract在第八章我們會再次用到這個函數。新的匿名函數被引入用於替換原來的visit函數。該匿名函數負責將新連接添加到切片中。在Extract中使用forEachNode遍歷HTML頁面由於Extract隻需要在遍歷結點前操作結點所以forEachNode的post參數被傳入nil。
```Go
gopl.io/ch5/links
@ -234,7 +234,7 @@ http://research.swtch.com/gotour
當所有發現的鏈接都已經被訪問或電腦的內存耗盡時,程序運行結束。
**練習5.10** 重寫topoSort函數用map代替數組併移除對key的排序代碼。驗證結果的正確性結果不唯一
**練習5.10** 重寫topoSort函數用map代替切片併移除對key的排序代碼。驗證結果的正確性結果不唯一
**練習5.11** 現在線性代數的老師把微積分設爲了前置課程。完善topSort使其能檢測有向圖中的環。