string - 使用 Golang 计算文本文件中单例的数量

标签 string count go singleton

如何使用 GO 计算文本文件中只出现一次的字符串数量? 我读过golang的一些包描述,也许我应该使用bufio.NewScanner一次一行读取传入文件的内容。然后我尝试使用map来统计每个字符串的出现次数:

stringcount := make(map[string]int)

如何更新这张空 map 的数据?例如,如果文件中的第一个字符串是“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 ?//
}

最佳答案

使用bufio.NewScanner要分开线条,请使用 strings.Fields获取单词,然后使用 yourMap[theWord]++计算单词数。

示例:http://play.golang.org/p/3H6gfBlQL5

要获取唯一单词的列表,iterate通过 map 键和 append他们到 slice ,然后 sort他们。

关于string - 使用 Golang 计算文本文件中单例的数量,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/21373408/

相关文章:

xml - go 中的 xml 列表中的注释

java - 有效的字符串分割

string - 读取字符串不输出完整的字符串clojure

php - 将逗号分隔的字符串转换为 int PHP?

比较字符串

python - Dataframe - 获取最常见的值及其计数

mysql - 我可以使用 MySQL Join 进行 COUNT 操作吗?

MySQL 查询 SELECT FROM 2 个表,COUNT 最常用

go - 如何使用gin管理Golang中的certfile更新?

go - 如何中断系统调用