這是一個建立於 的文章,其中的資訊可能已經有所發展或是發生改變。
先做一個練習題:http://tour.golangtc.com/moretypes/18
練習:map
實現 `WordCount`。它應當返回一個含有 s
中每個 “詞” 個數的 map。函數 wc.Test
針對這個函數執行一個測試案例,並列印成功或者失敗。
你會發現 strings.Fields 很有協助。
My Code:
package mainimport ( "code.google.com/p/go-tour/wc" "strings" )func WordCount(s string) map[string]int { str := strings.Fields(s)//把字串分成單詞數組 m := make(map[string]int) for i:=0;i<len(str);i++{if m[str[i]]==0{ m[str[i]]=1}else{ m[str[i]]++} }return m}func main() {wc.Test(WordCount)}
運行結果:
PASS f("I am learning Go!") = map[string]int{"I":1, "am":1, "learning":1, "Go!":1}PASS f("The quick brown fox jumped over the lazy dog.") = map[string]int{"quick":1, "fox":1, "jumped":1, "the":1, "The":1, "over":1, "lazy":1, "dog.":1, "brown":1}PASS f("I ate a donut. Then I ate another donut.") = map[string]int{"ate":2, "a":1, "donut.":2, "Then":1, "another":1, "I":2}PASS f("A man a plan a canal panama.") = map[string]int{"A":1, "man":1, "a":2, "plan":1, "canal":1, "panama.":1}