mirror of
https://github.com/gopl-zh/gopl-zh.github.com.git
synced 2024-12-25 14:28:58 +00:00
array->slice
This commit is contained in:
parent
8d5ac95935
commit
178f6e769b
@ -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,使其能檢測有向圖中的環。
|
||||
|
||||
|
Loading…
Reference in New Issue
Block a user