微修改了練習以嘗試更深入地挖掘。package mainimport (? ? "fmt"? ? "strings")func WordCount(s string) map[string]int {? ? m := make(map[string]int)? ? x := strings.Fields(s)? ? for _, e := range x {? ? ? ? m[e]++? ? }? ? return m}func main() {? ? phrase := "The quick brown fox"? ? fmt.Println(WordCount(phrase), "length:", len(WordCount(phrase)))}對我來說沒有意義的是 ++ 運算符在向地圖添加新元素時在此上下文中的工作方式。++運算符的定義:自增運算符。它將整數值增加一。在這種情況下,++ 運算符增加映射長度的整數值,然后將 e 元素添加到新的映射長度?
1 回答

躍然一笑
TA貢獻1826條經驗 獲得超6個贊
aint
中 values的默認值為. 因此,當您遍歷并調用時,擴展版本將是map
0
x
m[e]++
m[e] = m[e] + 1
換句話說:
m[e] = 0 + 1
當然,如果某個字段重復,則它已經在映射中(某些值 > 0)。
當您在循環后檢查地圖的長度時,它會給出字符串中唯一字段的數量。
- 1 回答
- 0 關注
- 114 瀏覽
添加回答
舉報
0/150
提交
取消