diff options
| author | Mike Vink <mike1994vink@gmail.com> | 2023-02-25 17:50:50 +0100 |
|---|---|---|
| committer | Mike Vink <mike1994vink@gmail.com> | 2023-02-25 17:50:50 +0100 |
| commit | 9dbdf08cb814a32ebb27d200391af83c6f2a7ff5 (patch) | |
| tree | 6fff3e789cdea402113e8705edb739c26dd973f2 /main.go | |
| parent | cc446240fac48c545c522f3d69c5d04a93b63461 (diff) | |
start scaffolding and boilerplate
Diffstat (limited to 'main.go')
| -rw-r--r-- | main.go | 36 |
1 files changed, 36 insertions, 0 deletions
@@ -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() +} |
