From 9dbdf08cb814a32ebb27d200391af83c6f2a7ff5 Mon Sep 17 00:00:00 2001 From: Mike Vink Date: Sat, 25 Feb 2023 17:50:50 +0100 Subject: start scaffolding and boilerplate --- main.go | 36 ++++++++++++++++++++++++++++++++++++ 1 file changed, 36 insertions(+) create mode 100644 main.go (limited to 'main.go') diff --git a/main.go b/main.go new file mode 100644 index 0000000..79c6e0d --- /dev/null +++ b/main.go @@ -0,0 +1,36 @@ +package main + +import "fmt" + +type flyer interface { + fly() string + dive() string +} + +type printer func(s string) string + +func (p printer) fly() string { + return p("I'm flying!") +} + +func (p printer) dive() string { + return p("I'm diving!") +} + +func printAndReturn(s string) string { + fmt.Println(s) + return s +} + +type bird struct { + flyer +} + +func main() { + bf := bird{ + flyer: printer(printAndReturn), + } + bf.fly() + + bs.fly() +} -- cgit v1.2.3