2014-01-27 3 views
2

Как подсчитать количество строк, которое происходит ровно один раз в текстовом файле с помощью GO? Я прочитал некоторое описание пакета golang, возможно, мне нужно использовать bufio.NewScanner для чтения содержимого переданного файла по очереди за раз. Тогда я пытаюсь использовать карту, чтобы рассчитывать на возникновение каждой строки:Подсчитайте количество синглетонов в текстовом файле с помощью Golang

stringcount: = сделать (отображение [строка] целое)

как я могу обновить данные эту пустую карту? Например, если первая строка «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

Обновите свое сообщение, чтобы отразить фактический вопрос, который вы задаете. Вы спрашиваете, какова разница между Сканером и Читателем? Вы спрашиваете, как найти уникальные строки в списке? Вы спрашиваете, как читать строки из файла? Не спрашивайте сразу всех трех. Я подозреваю, что каждый из них уже получил ответы в другом месте, но ясность поможет нам указать вам, куда вам нужно идти. –

+0

спасибо за ответ, я постараюсь прояснить ситуацию. Основной вопрос заключается в том, как найти уникальную строку в текстовом файле и указать, сколько уникальных строк находится в этом файле. – MicM

+0

Похоже, вы спрашиваете о картах. Прошли ли вы через учебник? http://tour.golang.org/ –

ответ

Смежные вопросы