From a530f7a503ee6259b48627ecc2244ea0e0ee85ad Mon Sep 17 00:00:00 2001 From: "exercism-solutions-syncer[bot]" <211797793+exercism-solutions-syncer[bot]@users.noreply.github.com> Date: Fri, 1 May 2026 16:46:48 +0000 Subject: [PATCH] [Sync Iteration] go/raindrops/4 --- solutions/go/raindrops/4/raindrops.go | 31 +++++++++++++++++++++++++++ 1 file changed, 31 insertions(+) create mode 100644 solutions/go/raindrops/4/raindrops.go diff --git a/solutions/go/raindrops/4/raindrops.go b/solutions/go/raindrops/4/raindrops.go new file mode 100644 index 0000000..81d6a9c --- /dev/null +++ b/solutions/go/raindrops/4/raindrops.go @@ -0,0 +1,31 @@ +package raindrops + +import ( + "strconv" + "strings" + ) + +var rules = []struct { + divisor int + word string +}{ + {3, "Pling"}, + {5, "Plang"}, + {7, "Plong"}, +} + +func Convert(number int) string { + + var sb strings.Builder + + for _, n := range rules { + if number%n.divisor == 0 { + sb.WriteString(n.word) + } + } + + if sb.Len() == 0 { + return strconv.Itoa(number) + } + return sb.String() +}