From e4b842666cced0cb99769dd853ef54a23ee4e11e Mon Sep 17 00:00:00 2001 From: Alex Denes Date: Fri, 30 Apr 2021 10:42:29 +0000 Subject: [PATCH] Initial progress --- fibonacci.go | 22 ++++++++++++++++++++++ slices.go | 18 ++++++++++++++++++ sqrt.go | 17 +++++++++++++++++ wc.go | 19 +++++++++++++++++++ 4 files changed, 76 insertions(+) create mode 100644 fibonacci.go create mode 100644 slices.go create mode 100644 sqrt.go create mode 100644 wc.go diff --git a/fibonacci.go b/fibonacci.go new file mode 100644 index 0000000..e26cbb3 --- /dev/null +++ b/fibonacci.go @@ -0,0 +1,22 @@ +package main + +import "fmt" + +// fibonacci is a function that returns +// a function that returns an int. +func fibonacci() func() int { + last := []int {0, 1} + return func() int { + ret := last[0] + temp := []int {last[1], last[0] + last[1]} + last = temp + return ret + } +} + +func main() { + f := fibonacci() + for i := 0; i < 10; i++ { + fmt.Println(f()) + } +} diff --git a/slices.go b/slices.go new file mode 100644 index 0000000..5939607 --- /dev/null +++ b/slices.go @@ -0,0 +1,18 @@ +package main + +import "golang.org/x/tour/pic" + +func Pic(dx, dy int) [][]uint8 { + var ret [][]uint8 = make([][]uint8, dx); + for x := 0; x < dx; x++ { + ret[x] = make([]uint8, dy); + for y := 0; y < dy; y++ { + ret[x][y] = uint8((x+y)/2); + } + } + return ret; +} + +func main() { + pic.Show(Pic) +} diff --git a/sqrt.go b/sqrt.go new file mode 100644 index 0000000..b835291 --- /dev/null +++ b/sqrt.go @@ -0,0 +1,17 @@ +package main + +import ( + "fmt" +) + +func Sqrt(x float64) float64 { + z := 1.0; + for count := 0; count < 10; count++ { + z -= (z*z - x) / (2*z); + } + return z; +} + +func main() { + fmt.Println(Sqrt(2)); +} diff --git a/wc.go b/wc.go new file mode 100644 index 0000000..6596d1b --- /dev/null +++ b/wc.go @@ -0,0 +1,19 @@ +package main + +import ( + "golang.org/x/tour/wc" + "strings" +) + +func WordCount(s string) map[string]int { + var wc map[string]int = make(map[string]int) + var str[]string = strings.Fields(s) + for _, val := range str { + wc[val]++ + } + return wc +} + +func main() { + wc.Test(WordCount) +}