aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--challenge-001/abigail/README.md2
-rw-r--r--challenge-001/abigail/go/ch-1.go28
-rw-r--r--challenge-001/abigail/go/ch-2.go38
3 files changed, 68 insertions, 0 deletions
diff --git a/challenge-001/abigail/README.md b/challenge-001/abigail/README.md
index 941614e09a..abd79caa1f 100644
--- a/challenge-001/abigail/README.md
+++ b/challenge-001/abigail/README.md
@@ -16,6 +16,7 @@ count the number of time we encountered an 'e'.
* [Bash](bash/ch-1.sh)
* [Befunge-93](befunge/ch-1.bf93)
* [C](c/ch-1.c)
+* [Go](go/ch-1.go)
* [lua](lua/ch-1.lua)
* [Node.js](node/ch-1.js)
* [Perl](perl/ch-1.pl)
@@ -40,6 +41,7 @@ upper boad from STDIN.
* [Bash](bash/ch-2.sh)
* [Befunge-93](befunge-93/ch-2.bf93)
* [C](c/ch-2.c)
+* [Go](go/ch-2.go)
* [lua](lua/ch-2.lua)
* [Node.js](node/ch-2.js)
* [Perl](perl/ch-2.pl)
diff --git a/challenge-001/abigail/go/ch-1.go b/challenge-001/abigail/go/ch-1.go
new file mode 100644
index 0000000000..b7f92a1924
--- /dev/null
+++ b/challenge-001/abigail/go/ch-1.go
@@ -0,0 +1,28 @@
+package main
+
+//
+// See https://theweeklychallenge.org/blog/perl-weekly-challenge-001
+//
+
+//
+// Run as: go run ch-1.go < input-file
+//
+
+import (
+ "fmt"
+ "bufio"
+ "os"
+ "strings"
+)
+
+func main () {
+ var reader = bufio . NewReader (os. Stdin)
+ for {
+ var text, err = reader . ReadString ('\n')
+ if (err != nil) {
+ break
+ }
+ fmt . Print (strings . Replace (text, "e", "E", -1))
+ fmt . Println (strings . Count (text, "e"))
+ }
+}
diff --git a/challenge-001/abigail/go/ch-2.go b/challenge-001/abigail/go/ch-2.go
new file mode 100644
index 0000000000..de32defdd0
--- /dev/null
+++ b/challenge-001/abigail/go/ch-2.go
@@ -0,0 +1,38 @@
+package main
+
+//
+// See https://theweeklychallenge.org/blog/perl-weekly-challenge-001
+//
+
+//
+// Run as: go run ch-2.go < input-file
+//
+
+import (
+ "fmt"
+)
+
+func main () {
+ for {
+ var max int
+ n, err := fmt . Scanf ("%d", &max)
+ if n != 1 || err != nil {
+ break
+ }
+ for i := 1; i <= max; i ++ {
+ if i % 15 == 0 {
+ fmt . Println ("fizzbuzz")
+ continue
+ }
+ if i % 5 == 0 {
+ fmt . Println ( "buzz")
+ continue
+ }
+ if i % 3 == 0 {
+ fmt . Println ("fizz" )
+ continue
+ }
+ fmt . Println (i)
+ }
+ }
+}