微修改了練習(xí)以嘗試更深入地挖掘。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)))}對我來說沒有意義的是 ++ 運(yùn)算符在向地圖添加新元素時在此上下文中的工作方式。++運(yùn)算符的定義:自增運(yùn)算符。它將整數(shù)值增加一。在這種情況下,++ 運(yùn)算符增加映射長度的整數(shù)值,然后將 e 元素添加到新的映射長度?
1 回答

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