如何计算使用GO在文本文件中出现一次的字符串数? 我已经阅读了golang的一些包描述,也许我应该使用bufio.NewScanner一次读取传入文件的内容。然后我尝试使用map来计算每个字符串的出现次数:
stringcount:= make(map [string] int)
如何更新此空地图的数据?例如,如果文件中的第一个字符串是“hello”,那么如何使stringcount [“hello”] = 1?
这是我的尝试:
package main
import (
"bufio"
"fmt"
"os"
"strings"
)
func main() {
frequencyofWord := map[string]int{}
scanner := bufio.NewScanner(os.Stdin)
for scanner.Scan() {
fmt.Println(scanner.Text())
}
if err := scanner.Err(); err != nil {
fmt.Fprintln(os.Stderr, "reading standard input:", err)
}
s := strings.Fields(scanner.Text()) //one more question : is strings.Fields used correctly here?
countSingleton(s)
}
func countSingleton(a []string) {
//here how to update the map according to the text read ?//
}
答案 0 :(得分:2)
使用bufio.NewScanner
分隔线条,使用strings.Fields
获取字词,然后使用yourMap[theWord]++
计算字数。