String 使用Golang计算文本文件中的单例数

String 使用Golang计算文本文件中的单例数,string,count,go,singleton,String,Count,Go,Singleton,如何使用GO计算文本文件中只出现一次的字符串数? 我已经阅读了golang的一些包描述,也许我应该使用bufio.NewScanner一次一行读取传入文件的内容。然后我尝试使用map来计算每个字符串的出现次数: stringcount:=make(映射[string]int) 如何更新此空地图的数据?例如,如果文件中的第一个字符串是“hello”,如何使stringcount[“hello”]=1 以下是我的尝试: package main import ( "bufio" "

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

stringcount:=make(映射[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 ?//
}
用以分隔行,用以获取单词,并用以计数单词

例如:


要获得唯一单词的列表,请在地图键上方,将它们依次指向a和a。

请更新您的帖子,以反映您所问的实际问题。你是在问扫描仪和阅读器的区别是什么?您是否在询问如何在列表中查找唯一字符串?你是在问如何读取文件中的行吗?不要同时问这三个问题。我怀疑这些问题已经在其他地方得到了回答,但一些清晰的信息将帮助我们指出你需要去哪里。谢谢你的回答,我会尽量把它弄清楚。主要的问题是如何在文本文件中找到唯一的字符串,并输出该文件中有多少唯一的字符串。这听起来像是在问地图。你看过教程了吗@KyleLemons是的,我做了,但教程只给出了为地图指定固定值的示例。我想知道当把一个文件作为输入时怎么做。我再次更新我的问题,给出了我试图做的事情。@user3221327你确定你是指字符串吗?因为将文本文件的每个子字符串与另一个子字符串进行对比非常昂贵。