Golang ProgramsGolang Programs

How to count number of repeating words in a given String?

In below program string Fields function used to splits the string s around each instance of one or more consecutive white space characters, as defined by unicode.
package main

import (
    "fmt"
	"strings"
)
func wordCount(str string) map[string]int {
    wordList := strings.Fields(str)
    counts := make(map[string]int)
    for _, word := range wordList {
        _, ok := counts[word]
        if ok {
            counts[word] += 1
        } else {
            counts[word] = 1
        }
    }
    return counts
}

func main() {
	strLine := "Australia Canada Germany Australia Japan Canada"	
	for index,element := range wordCount(strLine){
		fmt.Println(index,"=>",element)
    }
}
C:\golang\codes>go run example.go
Australia => 2
Canada => 2
Germany => 1
Japan => 1

C:\golang\codes>