From 8dc3158d645b1fce46f9873986fe4a05ef75e57a Mon Sep 17 00:00:00 2001 From: sgf Date: Wed, 22 Jun 2022 00:21:31 +0300 Subject: [PATCH] One more tour of go exercise. --- wc.go | 37 +++++++++++++++++++++++++++++++++++++ 1 file changed, 37 insertions(+) create mode 100644 wc.go diff --git a/wc.go b/wc.go new file mode 100644 index 0000000..2fcc695 --- /dev/null +++ b/wc.go @@ -0,0 +1,37 @@ +package main + +import ( + "golang.org/x/tour/wc" + "unicode" +) + +func AddWord(w string, r map[string]int) { + if w == "" { + return + } + if _, ok := r[w]; ok { + r[w]++ + } else { + r[w] = 1 + } +} +func WordCount(s string) map[string]int { + w := "" + r := make(map[string]int) + for _, c := range s { + if unicode.IsSpace(c) { + AddWord(w, r) + w = "" + continue + } + w += string(c) + } + AddWord(w, r) + + return r +} + +func main() { + wc.Test(WordCount) +} + -- 2.20.1