From 2c3a24a45b56bd0fd60db64c2903571c631109b4 Mon Sep 17 00:00:00 2001 From: AlMishbah Date: Sat, 8 Feb 2020 13:27:36 +0700 Subject: [PATCH 01/24] Fix #34 - https://tour.golang.org/moretypes/1 --- roihan/moretypes_1.go | 16 ++++++++++++++++ 1 file changed, 16 insertions(+) create mode 100644 roihan/moretypes_1.go diff --git a/roihan/moretypes_1.go b/roihan/moretypes_1.go new file mode 100644 index 0000000..4a50ae3 --- /dev/null +++ b/roihan/moretypes_1.go @@ -0,0 +1,16 @@ +package roihan + +import "fmt" + +func moretype1() { + i, j := 42, 2701 + + p := &i + fmt.Println(*p) + *p = 21 + fmt.Println(i) + + p = &j + *p = *p / 37 + fmt.Println(j) +} From ca01dcdf34a16e7fba4c51d07459442ea218fb21 Mon Sep 17 00:00:00 2001 From: AlMishbah Date: Sat, 8 Feb 2020 13:28:10 +0700 Subject: [PATCH 02/24] Fix #34 - https://tour.golang.org/moretypes/2 --- roihan/moretypes_2.go | 12 ++++++++++++ 1 file changed, 12 insertions(+) create mode 100644 roihan/moretypes_2.go diff --git a/roihan/moretypes_2.go b/roihan/moretypes_2.go new file mode 100644 index 0000000..48166bb --- /dev/null +++ b/roihan/moretypes_2.go @@ -0,0 +1,12 @@ +package roihan + +import "fmt" + +type Vertex struct { + X int + Y int +} + +func moretype2() { + fmt.Println(Vertex{1, 20}) +} From ae68c3791d4989e43fe942cc59b61ccd5b0d98d5 Mon Sep 17 00:00:00 2001 From: AlMishbah Date: Sat, 8 Feb 2020 13:28:22 +0700 Subject: [PATCH 03/24] Fix #34 - https://tour.golang.org/moretypes/3 --- roihan/moretypes_3.go | 14 ++++++++++++++ 1 file changed, 14 insertions(+) create mode 100644 roihan/moretypes_3.go diff --git a/roihan/moretypes_3.go b/roihan/moretypes_3.go new file mode 100644 index 0000000..ba13d49 --- /dev/null +++ b/roihan/moretypes_3.go @@ -0,0 +1,14 @@ +package roihan + +import "fmt" + +type moretype struct { + X int + Y int +} + +func moretype3() { + v := Vertex{1, 2} + v.X = 4 + fmt.Println(v.X) +} From 66322a3c356ae03dba6d285d81501d5c7511b077 Mon Sep 17 00:00:00 2001 From: AlMishbah Date: Sat, 8 Feb 2020 13:28:32 +0700 Subject: [PATCH 04/24] Fix #34 - https://tour.golang.org/moretypes/4 --- roihan/moretypes_4.go | 15 +++++++++++++++ 1 file changed, 15 insertions(+) create mode 100644 roihan/moretypes_4.go diff --git a/roihan/moretypes_4.go b/roihan/moretypes_4.go new file mode 100644 index 0000000..543bb96 --- /dev/null +++ b/roihan/moretypes_4.go @@ -0,0 +1,15 @@ +package roihan + +import "fmt" + +type Moretype struct { + X int + Y int +} + +func moretype4() { + v := Moretype{1, 2} + p := &v + p.X = 1e9 + fmt.Println(v) +} From a5dc656abd4991f72ad8ee49e8ae03607db4b4c9 Mon Sep 17 00:00:00 2001 From: AlMishbah Date: Sat, 8 Feb 2020 13:28:42 +0700 Subject: [PATCH 05/24] Fix #34 - https://tour.golang.org/moretypes/5 --- roihan/moretypes_5.go | 18 ++++++++++++++++++ 1 file changed, 18 insertions(+) create mode 100644 roihan/moretypes_5.go diff --git a/roihan/moretypes_5.go b/roihan/moretypes_5.go new file mode 100644 index 0000000..53feb48 --- /dev/null +++ b/roihan/moretypes_5.go @@ -0,0 +1,18 @@ +package roihan + +import "fmt" + +type MoretypeVertex struct { + X, Y int +} + +var ( + v1 = MoretypeVertex{1, 2} //Has type vertex + v2 = MoretypeVertex{X: 1} //Y:0 is implicit + v3 = MoretypeVertex{} //X:0 and Y:0 + p = &MoretypeVertex{1, 2} //Has type *Vertex +) + +func moretype5() { + fmt.Println(v1, p, v2, v3) +} From 12905bae26e5104e6d3e14213384ce155c851af9 Mon Sep 17 00:00:00 2001 From: AlMishbah Date: Sat, 8 Feb 2020 13:28:52 +0700 Subject: [PATCH 06/24] Fix #34 - https://tour.golang.org/moretypes/6 --- roihan/moretypes_6.go | 14 ++++++++++++++ 1 file changed, 14 insertions(+) create mode 100644 roihan/moretypes_6.go diff --git a/roihan/moretypes_6.go b/roihan/moretypes_6.go new file mode 100644 index 0000000..cbf3bd3 --- /dev/null +++ b/roihan/moretypes_6.go @@ -0,0 +1,14 @@ +package roihan + +import "fmt" + +func moretype6() { + var a [2]string + a[0] = "Hello" + a[1] = "World" + fmt.Println(a[0], a[1]) + fmt.Println(a) + + primes := [6]int{2, 3, 5, 11, 13} + fmt.Println(primes) +} From 85a79bad1e438aa6509d1d21c985c7cf261275a5 Mon Sep 17 00:00:00 2001 From: AlMishbah Date: Sat, 8 Feb 2020 13:29:00 +0700 Subject: [PATCH 07/24] Fix #34 - https://tour.golang.org/moretypes/7 --- roihan/moretypes_7.go | 10 ++++++++++ 1 file changed, 10 insertions(+) create mode 100644 roihan/moretypes_7.go diff --git a/roihan/moretypes_7.go b/roihan/moretypes_7.go new file mode 100644 index 0000000..7a7a121 --- /dev/null +++ b/roihan/moretypes_7.go @@ -0,0 +1,10 @@ +package roihan + +import "fmt" + +func moretype7() { + primes := [6]int{2, 3, 5, 7, 11, 13} + + var s []int = primes[1:4] + fmt.Println(s) +} From 2d21fc4373d60b7ec9a84eeb7f48b51b2605db41 Mon Sep 17 00:00:00 2001 From: AlMishbah Date: Sat, 8 Feb 2020 13:35:05 +0700 Subject: [PATCH 08/24] Fix #34 - https://tour.golang.org/moretypes/8 --- roihan/moretypes_8.go | 21 +++++++++++++++++++++ 1 file changed, 21 insertions(+) create mode 100644 roihan/moretypes_8.go diff --git a/roihan/moretypes_8.go b/roihan/moretypes_8.go new file mode 100644 index 0000000..204137c --- /dev/null +++ b/roihan/moretypes_8.go @@ -0,0 +1,21 @@ +package roihan + +import "fmt" + +func moretype8() { + names := [3]string{ + "Roihan", + "Mishbahul", + "Anam", + } + + fmt.Println(names) + + a := names[0:2] + b := names[1:3] + fmt.Println(a, b) + + b[0] = "XXX" + fmt.Println(a, b) + fmt.Println(names) +} From 1526cd5750d600506baa1fa6693b920fe47d5ed0 Mon Sep 17 00:00:00 2001 From: AlMishbah Date: Sat, 8 Feb 2020 13:41:15 +0700 Subject: [PATCH 09/24] Fix #34 - https://tour.golang.org/moretypes/9 --- roihan/flowcontrol_14.go | 1 + roihan/moretypes_9.go | 24 ++++++++++++++++++++++++ roihan/roihan.go | 12 ++++++++++++ 3 files changed, 37 insertions(+) create mode 100644 roihan/moretypes_9.go diff --git a/roihan/flowcontrol_14.go b/roihan/flowcontrol_14.go index 26fe8ba..66d7c84 100644 --- a/roihan/flowcontrol_14.go +++ b/roihan/flowcontrol_14.go @@ -4,4 +4,5 @@ import "fmt" func flowcontrol14() { fmt.Println("You finished this lesson!") + fmt.Println() } diff --git a/roihan/moretypes_9.go b/roihan/moretypes_9.go new file mode 100644 index 0000000..cbbb044 --- /dev/null +++ b/roihan/moretypes_9.go @@ -0,0 +1,24 @@ +package roihan + +import "fmt" + +func moretype9() { + q := []int{2, 3, 5, 11, 13} + fmt.Println(q) + + r := []bool{true, false, true, true, false, true} + fmt.Println(r) + + s := []struct { + i int + b bool + }{ + {2, true}, + {3, false}, + {5, true}, + {7, true}, + {11, false}, + {13, true}, + } + fmt.Println(s) +} diff --git a/roihan/roihan.go b/roihan/roihan.go index 4e16e09..98d91a2 100644 --- a/roihan/roihan.go +++ b/roihan/roihan.go @@ -40,6 +40,18 @@ func Main() { flowcontrol12() flowcontrol13() flowcontrol14() + + //Moretypes + fmt.Println("//Moretypes//") + moretype1() + moretype2() + moretype3() + moretype4() + moretype5() + moretype6() + moretype7() + moretype8() + moretype9() } func basics1() { From d2cb8b2f42b53fad892049be5f9936538d9a2341 Mon Sep 17 00:00:00 2001 From: AlMishbah Date: Sat, 8 Feb 2020 13:45:53 +0700 Subject: [PATCH 10/24] Fix #34 - https://tour.golang.org/moretypes/10 --- roihan/moretypes_10.go | 16 ++++++++++++++++ roihan/roihan.go | 1 + 2 files changed, 17 insertions(+) create mode 100644 roihan/moretypes_10.go diff --git a/roihan/moretypes_10.go b/roihan/moretypes_10.go new file mode 100644 index 0000000..c714761 --- /dev/null +++ b/roihan/moretypes_10.go @@ -0,0 +1,16 @@ +package roihan + +import "fmt" + +func moretype10() { + s := []int{2, 3, 5, 7, 11, 13} + + s = s[1:4] + fmt.Println(s) + + s = s[:2] + fmt.Println(s) + + s = s[1:] + fmt.Println(s) +} diff --git a/roihan/roihan.go b/roihan/roihan.go index 98d91a2..b29b7e0 100644 --- a/roihan/roihan.go +++ b/roihan/roihan.go @@ -52,6 +52,7 @@ func Main() { moretype7() moretype8() moretype9() + moretype10() } func basics1() { From 7045a616afe81b1aafdd3992a9316d221ee933fe Mon Sep 17 00:00:00 2001 From: AlMishbah Date: Mon, 10 Feb 2020 11:24:15 +0700 Subject: [PATCH 11/24] Fix #34 - https://tour.golang.org/moretypes/11 --- roihan/moretypes_11.go | 21 +++++++++++++++++++++ roihan/roihan.go | 1 + 2 files changed, 22 insertions(+) create mode 100644 roihan/moretypes_11.go diff --git a/roihan/moretypes_11.go b/roihan/moretypes_11.go new file mode 100644 index 0000000..18fb89f --- /dev/null +++ b/roihan/moretypes_11.go @@ -0,0 +1,21 @@ +package roihan + +import "fmt" + +func moretype11() { + s := []int{2, 3, 5, 7, 11, 13} + printSlice(s) + + s = s[:0] + printSlice(s) + + s = s[:4] + printSlice(s) + + s = s[2:] + printSlice(s) +} + +func printSlice(s []int) { + fmt.Printf("len=%d cap=%d %v\n", len(s), cap(s), s) +} diff --git a/roihan/roihan.go b/roihan/roihan.go index b29b7e0..18e5a66 100644 --- a/roihan/roihan.go +++ b/roihan/roihan.go @@ -53,6 +53,7 @@ func Main() { moretype8() moretype9() moretype10() + moretype11() } func basics1() { From 3824c1391522953b559f1adef3a14f7198bcb61d Mon Sep 17 00:00:00 2001 From: AlMishbah Date: Mon, 10 Feb 2020 11:28:10 +0700 Subject: [PATCH 12/24] Fix #34 - https://tour.golang.org/moretypes/12 --- roihan/moretypes_12.go | 11 +++++++++++ roihan/roihan.go | 1 + 2 files changed, 12 insertions(+) create mode 100644 roihan/moretypes_12.go diff --git a/roihan/moretypes_12.go b/roihan/moretypes_12.go new file mode 100644 index 0000000..0b7c27b --- /dev/null +++ b/roihan/moretypes_12.go @@ -0,0 +1,11 @@ +package roihan + +import "fmt" + +func moretype12() { + var s []int + fmt.Println(s, len(s), cap(s)) + if s == nil { + fmt.Println("nil!") + } +} diff --git a/roihan/roihan.go b/roihan/roihan.go index 18e5a66..19ff45e 100644 --- a/roihan/roihan.go +++ b/roihan/roihan.go @@ -54,6 +54,7 @@ func Main() { moretype9() moretype10() moretype11() + moretype12() } func basics1() { From 12465cbedb210213f3c74915ace138926361990b Mon Sep 17 00:00:00 2001 From: AlMishbah Date: Mon, 10 Feb 2020 11:33:45 +0700 Subject: [PATCH 13/24] Fix #34 - https://tour.golang.org/moretypes/13 --- roihan/moretypes_13.go | 21 +++++++++++++++++++++ roihan/roihan.go | 1 + 2 files changed, 22 insertions(+) create mode 100644 roihan/moretypes_13.go diff --git a/roihan/moretypes_13.go b/roihan/moretypes_13.go new file mode 100644 index 0000000..d2bf90b --- /dev/null +++ b/roihan/moretypes_13.go @@ -0,0 +1,21 @@ +package roihan + +import "fmt" + +func moretype13() { + a := make([]int, 5) + PrintSlice("a", a) + + b := make([]int, 0, 5) + PrintSlice("b", b) + + c := b[:2] + PrintSlice("c", c) + + d := c[2:5] + PrintSlice("d", d) +} + +func PrintSlice(s string, x []int) { + fmt.Printf("%s len=%d cap=%d %v\n", s, len(x), cap(x), x) +} diff --git a/roihan/roihan.go b/roihan/roihan.go index 19ff45e..630229a 100644 --- a/roihan/roihan.go +++ b/roihan/roihan.go @@ -55,6 +55,7 @@ func Main() { moretype10() moretype11() moretype12() + moretype13() } func basics1() { From 137feb35cacd88650674b6a448aeee42a3faa86e Mon Sep 17 00:00:00 2001 From: AlMishbah Date: Mon, 10 Feb 2020 13:11:13 +0700 Subject: [PATCH 14/24] Fix #34 - https://tour.golang.org/moretypes/14 --- roihan/moretypes_14.go | 24 ++++++++++++++++++++++++ roihan/roihan.go | 1 + 2 files changed, 25 insertions(+) create mode 100644 roihan/moretypes_14.go diff --git a/roihan/moretypes_14.go b/roihan/moretypes_14.go new file mode 100644 index 0000000..a9e1d03 --- /dev/null +++ b/roihan/moretypes_14.go @@ -0,0 +1,24 @@ +package roihan + +import ( + "fmt" + "strings" +) + +func moretype14() { + board := [][]string{ + []string{"_", "_", "_"}, + []string{"_", "_", "_"}, + []string{"_", "_", "_"}, + } + + board[0][0] = "X" + board[2][2] = "O" + board[1][2] = "X" + board[1][0] = "O" + board[0][2] = "X" + + for i := 0; i < len(board); i++ { + fmt.Printf("%s\n", strings.Join(board[i], "")) + } +} diff --git a/roihan/roihan.go b/roihan/roihan.go index 630229a..ccf2536 100644 --- a/roihan/roihan.go +++ b/roihan/roihan.go @@ -56,6 +56,7 @@ func Main() { moretype11() moretype12() moretype13() + moretype14() } func basics1() { From a9b909acb0d795109efd2c009572ae8da2f7b05e Mon Sep 17 00:00:00 2001 From: AlMishbah Date: Mon, 10 Feb 2020 13:15:25 +0700 Subject: [PATCH 15/24] Fix #34 - https://tour.golang.org/moretypes/15 --- roihan/moretypes_15.go | 21 +++++++++++++++++++++ roihan/roihan.go | 1 + 2 files changed, 22 insertions(+) create mode 100644 roihan/moretypes_15.go diff --git a/roihan/moretypes_15.go b/roihan/moretypes_15.go new file mode 100644 index 0000000..8bc67bd --- /dev/null +++ b/roihan/moretypes_15.go @@ -0,0 +1,21 @@ +package roihan + +import "fmt" + +func moretype15() { + var s []int + Printslice(s) + + s = append(s, 0) + Printslice(s) + + s = append(s, 1) + Printslice(s) + + s = append(s, 2, 3, 4) + Printslice(s) +} + +func Printslice(s []int) { + fmt.Printf("len=%d cap=%d %v\n", len(s), cap(s), s) +} diff --git a/roihan/roihan.go b/roihan/roihan.go index ccf2536..9809791 100644 --- a/roihan/roihan.go +++ b/roihan/roihan.go @@ -57,6 +57,7 @@ func Main() { moretype12() moretype13() moretype14() + moretype15() } func basics1() { From 4d2633540d17967057f166273849cddb6d201fe6 Mon Sep 17 00:00:00 2001 From: AlMishbah Date: Mon, 10 Feb 2020 13:34:27 +0700 Subject: [PATCH 16/24] Fix #34 - https://tour.golang.org/moretypes/16 --- roihan/moretypes_16.go | 11 +++++++++++ roihan/roihan.go | 1 + 2 files changed, 12 insertions(+) create mode 100644 roihan/moretypes_16.go diff --git a/roihan/moretypes_16.go b/roihan/moretypes_16.go new file mode 100644 index 0000000..3f376a6 --- /dev/null +++ b/roihan/moretypes_16.go @@ -0,0 +1,11 @@ +package roihan + +import "fmt" + +var pos = []int{1, 2, 4, 8, 16, 32, 64, 128} + +func moretype16() { + for i, v := range pos { + fmt.Printf("2**%d = %d\n", i, v) + } +} diff --git a/roihan/roihan.go b/roihan/roihan.go index 9809791..993de45 100644 --- a/roihan/roihan.go +++ b/roihan/roihan.go @@ -58,6 +58,7 @@ func Main() { moretype13() moretype14() moretype15() + moretype16() } func basics1() { From 8f0f2dd612a16c9867a8958b3631b18de2d10085 Mon Sep 17 00:00:00 2001 From: AlMishbah Date: Mon, 10 Feb 2020 13:39:08 +0700 Subject: [PATCH 17/24] Fix #34 - https://tour.golang.org/moretypes/17 --- roihan/moretypes_17.go | 13 +++++++++++++ roihan/roihan.go | 1 + 2 files changed, 14 insertions(+) create mode 100644 roihan/moretypes_17.go diff --git a/roihan/moretypes_17.go b/roihan/moretypes_17.go new file mode 100644 index 0000000..5a35548 --- /dev/null +++ b/roihan/moretypes_17.go @@ -0,0 +1,13 @@ +package roihan + +import "fmt" + +func moretype17() { + por := make([]int, 10) + for i := range por { + por[i] = 1 << uint(i) + } + for _, value := range por { + fmt.Printf("%d\n", value) + } +} diff --git a/roihan/roihan.go b/roihan/roihan.go index 993de45..137bec7 100644 --- a/roihan/roihan.go +++ b/roihan/roihan.go @@ -59,6 +59,7 @@ func Main() { moretype14() moretype15() moretype16() + moretype17() } func basics1() { From b022bf1f1f427ef7dfc699bf42b093192e5f83be Mon Sep 17 00:00:00 2001 From: AlMishbah Date: Mon, 10 Feb 2020 13:43:59 +0700 Subject: [PATCH 18/24] Fix #34 - https://tour.golang.org/moretypes/18 --- roihan/moretypes_18.go | 10 ++++++++++ roihan/roihan.go | 1 + 2 files changed, 11 insertions(+) create mode 100644 roihan/moretypes_18.go diff --git a/roihan/moretypes_18.go b/roihan/moretypes_18.go new file mode 100644 index 0000000..ce23237 --- /dev/null +++ b/roihan/moretypes_18.go @@ -0,0 +1,10 @@ +package roihan + +import "golang.org/x/tour/pic" + +func Pic(dx, dy int) [][]uint8 { +} + +func moretype18() { + pic.Show(Pic) +} diff --git a/roihan/roihan.go b/roihan/roihan.go index 137bec7..88a151b 100644 --- a/roihan/roihan.go +++ b/roihan/roihan.go @@ -60,6 +60,7 @@ func Main() { moretype15() moretype16() moretype17() + // moretype18() } func basics1() { From a76fcdd2717c967011afa64cfec75fea9faa8f38 Mon Sep 17 00:00:00 2001 From: AlMishbah Date: Mon, 10 Feb 2020 13:49:30 +0700 Subject: [PATCH 19/24] Fix #34 - https://tour.golang.org/moretypes/19 --- roihan/moretypes_18.go | 10 ---------- roihan/moretypes_19.go | 17 +++++++++++++++++ roihan/roihan.go | 2 +- 3 files changed, 18 insertions(+), 11 deletions(-) delete mode 100644 roihan/moretypes_18.go create mode 100644 roihan/moretypes_19.go diff --git a/roihan/moretypes_18.go b/roihan/moretypes_18.go deleted file mode 100644 index ce23237..0000000 --- a/roihan/moretypes_18.go +++ /dev/null @@ -1,10 +0,0 @@ -package roihan - -import "golang.org/x/tour/pic" - -func Pic(dx, dy int) [][]uint8 { -} - -func moretype18() { - pic.Show(Pic) -} diff --git a/roihan/moretypes_19.go b/roihan/moretypes_19.go new file mode 100644 index 0000000..26e1f70 --- /dev/null +++ b/roihan/moretypes_19.go @@ -0,0 +1,17 @@ +package roihan + +import "fmt" + +type vertex struct { + Lat, Long float64 +} + +var m map[string]vertex + +func moretype19() { + m = make(map[string]vertex) + m["Bell Labs"] = vertex{ + 40.648433, -74.39967, + } + fmt.Println(m["Bell Labs"]) +} diff --git a/roihan/roihan.go b/roihan/roihan.go index 88a151b..001dedf 100644 --- a/roihan/roihan.go +++ b/roihan/roihan.go @@ -60,7 +60,7 @@ func Main() { moretype15() moretype16() moretype17() - // moretype18() + moretype19() } func basics1() { From 0a5e3050b9ce2ea0bf21f12608f23e6f82a776c8 Mon Sep 17 00:00:00 2001 From: AlMishbah Date: Mon, 10 Feb 2020 13:53:48 +0700 Subject: [PATCH 20/24] Fix #34 - https://tour.golang.org/moretypes/20 --- roihan/moretypes_20.go | 20 ++++++++++++++++++++ roihan/roihan.go | 1 + 2 files changed, 21 insertions(+) create mode 100644 roihan/moretypes_20.go diff --git a/roihan/moretypes_20.go b/roihan/moretypes_20.go new file mode 100644 index 0000000..7c9204e --- /dev/null +++ b/roihan/moretypes_20.go @@ -0,0 +1,20 @@ +package roihan + +import "fmt" + +type Verte struct { + Lat, Long float64 +} + +var ma = map[string]Verte{ + "Bell Labs": Verte{ + 40.648433, -74.39967, + }, + "Google": Verte{ + 37.42202, -122.08408, + }, +} + +func moretype20() { + fmt.Println(ma) +} diff --git a/roihan/roihan.go b/roihan/roihan.go index 001dedf..ad12db4 100644 --- a/roihan/roihan.go +++ b/roihan/roihan.go @@ -61,6 +61,7 @@ func Main() { moretype16() moretype17() moretype19() + moretype20() } func basics1() { From 8d93cd75c5b9e504b22635edf98a715961133d93 Mon Sep 17 00:00:00 2001 From: AlMishbah Date: Mon, 10 Feb 2020 13:59:53 +0700 Subject: [PATCH 21/24] Fix #34 - https://tour.golang.org/moretypes/21 --- roihan/moretypes_21.go | 16 ++++++++++++++++ roihan/roihan.go | 1 + 2 files changed, 17 insertions(+) create mode 100644 roihan/moretypes_21.go diff --git a/roihan/moretypes_21.go b/roihan/moretypes_21.go new file mode 100644 index 0000000..d286f0d --- /dev/null +++ b/roihan/moretypes_21.go @@ -0,0 +1,16 @@ +package roihan + +import "fmt" + +type literals struct { + Lat, Long float64 +} + +var mp = map[string]literals{ + "Bell Labs": {40.68433, -74.39967}, + "Google": {37.42202, -122.08408}, +} + +func moretype21() { + fmt.Println(mp) +} diff --git a/roihan/roihan.go b/roihan/roihan.go index ad12db4..c20891a 100644 --- a/roihan/roihan.go +++ b/roihan/roihan.go @@ -62,6 +62,7 @@ func Main() { moretype17() moretype19() moretype20() + moretype21() } func basics1() { From 033e8b3a973d4a68dec48e95096a6de2c5e178f0 Mon Sep 17 00:00:00 2001 From: AlMishbah Date: Mon, 10 Feb 2020 14:04:45 +0700 Subject: [PATCH 22/24] Fix #34 - https://tour.golang.org/moretypes/22 --- roihan/moretypes_22.go | 19 +++++++++++++++++++ roihan/roihan.go | 1 + 2 files changed, 20 insertions(+) create mode 100644 roihan/moretypes_22.go diff --git a/roihan/moretypes_22.go b/roihan/moretypes_22.go new file mode 100644 index 0000000..7ec750b --- /dev/null +++ b/roihan/moretypes_22.go @@ -0,0 +1,19 @@ +package roihan + +import "fmt" + +func moretype22() { + m := make(map[string]int) + + m["Answer"] = 42 + fmt.Println("The value:", m["Answer"]) + + m["Answer"] = 48 + fmt.Println("The value:", m["Answer"]) + + delete(m, "Answer") + fmt.Println("The value:", m["Answer"]) + + v, ok := m["Answer"] + fmt.Println("The value:", v, "Present?", ok) +} diff --git a/roihan/roihan.go b/roihan/roihan.go index c20891a..5a9b278 100644 --- a/roihan/roihan.go +++ b/roihan/roihan.go @@ -63,6 +63,7 @@ func Main() { moretype19() moretype20() moretype21() + moretype22() } func basics1() { From 54aa24e312568feb42d9e361defaf4d3509bdaa4 Mon Sep 17 00:00:00 2001 From: AlMishbah Date: Mon, 10 Feb 2020 14:17:42 +0700 Subject: [PATCH 23/24] Fix #34 - https://tour.golang.org/moretypes/24 --- roihan/moretypes_24.go | 20 ++++++++++++++++++++ roihan/roihan.go | 1 + 2 files changed, 21 insertions(+) create mode 100644 roihan/moretypes_24.go diff --git a/roihan/moretypes_24.go b/roihan/moretypes_24.go new file mode 100644 index 0000000..8d40496 --- /dev/null +++ b/roihan/moretypes_24.go @@ -0,0 +1,20 @@ +package roihan + +import ( + "fmt" + "math" +) + +func compute(fn func(float64, float64) float64) float64 { + return fn(3, 4) +} + +func moretype24() { + hypot := func(x, y float64) float64 { + return math.Sqrt(x*x + y*y) + } + fmt.Println(hypot(5, 12)) + + fmt.Println(compute(hypot)) + fmt.Println(compute(math.Pow)) +} diff --git a/roihan/roihan.go b/roihan/roihan.go index 5a9b278..071db0a 100644 --- a/roihan/roihan.go +++ b/roihan/roihan.go @@ -64,6 +64,7 @@ func Main() { moretype20() moretype21() moretype22() + moretype24() } func basics1() { From c62f2cf7c644a61c42a41546c2703b0959db71f7 Mon Sep 17 00:00:00 2001 From: AlMishbah Date: Mon, 10 Feb 2020 15:13:38 +0700 Subject: [PATCH 24/24] Fix #34 - https://tour.golang.org/moretypes/23 --- roihan/moretypes_23.go | 11 +++++++++++ roihan/roihan.go | 1 + 2 files changed, 12 insertions(+) create mode 100644 roihan/moretypes_23.go diff --git a/roihan/moretypes_23.go b/roihan/moretypes_23.go new file mode 100644 index 0000000..7619c66 --- /dev/null +++ b/roihan/moretypes_23.go @@ -0,0 +1,11 @@ +package roihan + +import "golang.org/x/tour/wc" + +func WordCount(s string) map[string]int { + return map[string]int{"x": 1} +} + +func moretype23() { + wc.Test(WordCount) +} diff --git a/roihan/roihan.go b/roihan/roihan.go index 071db0a..c328e5c 100644 --- a/roihan/roihan.go +++ b/roihan/roihan.go @@ -64,6 +64,7 @@ func Main() { moretype20() moretype21() moretype22() + moretype23() moretype24() }