From 8cae312e2ac9c18d5c6eb1ce4e81c9a169997a09 Mon Sep 17 00:00:00 2001 From: ShaoBo Wan Date: Sun, 1 Apr 2018 17:52:58 +0800 Subject: [PATCH] =?UTF-8?q?=E5=A6=82=E4=BD=95=E7=BC=96=E5=86=99Go=E4=BB=A3?= =?UTF-8?q?=E7=A0=81?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- demo02/for-continue.go | 19 ------------------- demo02/for-demo01.go | 12 ------------ demo02/hello_wrold.go | 7 ------- demo04/demo04-01.go | 13 ------------- demo04/demo04-02.go | 9 --------- demo04/demo04-03.go | 14 -------------- demo04/demo04-04.go | 16 ---------------- demo04/demo04-05.go | 15 --------------- demo04/demo04-06.go | 12 ------------ demo04/demo04-07.go | 12 ------------ demo04/demo04-08.go | 10 ---------- geometry/geometry.go | 18 ------------------ geometry/geometry_.go | 9 --------- geometry/geometry_init.go | 31 ------------------------------- geometry/rectangle/rectprops.go | 21 --------------------- main.go | 8 ++++++-- stringutil/reverse.go | 11 +++++++++++ 17 files changed, 17 insertions(+), 220 deletions(-) delete mode 100644 demo02/for-continue.go delete mode 100644 demo02/for-demo01.go delete mode 100644 demo02/hello_wrold.go delete mode 100644 demo04/demo04-01.go delete mode 100644 demo04/demo04-02.go delete mode 100644 demo04/demo04-03.go delete mode 100644 demo04/demo04-04.go delete mode 100644 demo04/demo04-05.go delete mode 100644 demo04/demo04-06.go delete mode 100644 demo04/demo04-07.go delete mode 100644 demo04/demo04-08.go delete mode 100644 geometry/geometry.go delete mode 100644 geometry/geometry_.go delete mode 100644 geometry/geometry_init.go delete mode 100644 geometry/rectangle/rectprops.go create mode 100644 stringutil/reverse.go diff --git a/demo02/for-continue.go b/demo02/for-continue.go deleted file mode 100644 index 60998af..0000000 --- a/demo02/for-continue.go +++ /dev/null @@ -1,19 +0,0 @@ -package main - -import "fmt" - -func main() { - // for i := 1; i < 10; i++ { - // if i%2 == 0 { - // fmt.Printf(" 偶数-%d", i) - // continue - // } - // fmt.Printf(" %d", i) - // } - - i := 0 - for ;i <= 10; { // initialisation and post are omitted - fmt.Printf("%d ", i) - i += 2 - } -} diff --git a/demo02/for-demo01.go b/demo02/for-demo01.go deleted file mode 100644 index 2f5c4c9..0000000 --- a/demo02/for-demo01.go +++ /dev/null @@ -1,12 +0,0 @@ -package main - -import "fmt" - -func main() { - for i := 1; i < 10; i++ { - if i>5 { - break - } - fmt.Printf(" %d", i) - } -} diff --git a/demo02/hello_wrold.go b/demo02/hello_wrold.go deleted file mode 100644 index 50cfb13..0000000 --- a/demo02/hello_wrold.go +++ /dev/null @@ -1,7 +0,0 @@ -package main - -import "fmt" - -func main() { - fmt.Println("Hello World") -} \ No newline at end of file diff --git a/demo04/demo04-01.go b/demo04/demo04-01.go deleted file mode 100644 index 5ddc5cf..0000000 --- a/demo04/demo04-01.go +++ /dev/null @@ -1,13 +0,0 @@ -package main - -import "fmt" - -func main() { - a := true - b := false - fmt.Println("a:", a, "b:", b) - c := a && b - fmt.Println("c:", c) - d := a || b - fmt.Println("d:", d) -} \ No newline at end of file diff --git a/demo04/demo04-02.go b/demo04/demo04-02.go deleted file mode 100644 index e64afd5..0000000 --- a/demo04/demo04-02.go +++ /dev/null @@ -1,9 +0,0 @@ -package main - -import "fmt" - -func main() { - var a int = 89 - b := 95 - fmt.Println("value of a is", a, "and b is", b) -} \ No newline at end of file diff --git a/demo04/demo04-03.go b/demo04/demo04-03.go deleted file mode 100644 index 924fe3e..0000000 --- a/demo04/demo04-03.go +++ /dev/null @@ -1,14 +0,0 @@ -package main - -import ( - "fmt" - "unsafe" -) - -func main() { - var a int = 89 - b := 95 - fmt.Println("value of a is", a, "and b is", b) - fmt.Printf("type of a is %T, size of a is %d", a, unsafe.Sizeof(a)) //type and size of a - fmt.Printf("\ntype of b is %T, size of b is %d", b, unsafe.Sizeof(b)) //type and size of b -} \ No newline at end of file diff --git a/demo04/demo04-04.go b/demo04/demo04-04.go deleted file mode 100644 index d3b19f4..0000000 --- a/demo04/demo04-04.go +++ /dev/null @@ -1,16 +0,0 @@ -package main - -import ( - "fmt" -) - -func main() { - a, b := 5.67, 8.97 - fmt.Printf("type of a %T b %T\n", a, b) - sum := a + b - diff := a - b - fmt.Println("sum", sum, "diff", diff) - - no1, no2 := 56, 89 - fmt.Println("sum", no1+no2, "diff", no1-no2) -} \ No newline at end of file diff --git a/demo04/demo04-05.go b/demo04/demo04-05.go deleted file mode 100644 index 46ecd45..0000000 --- a/demo04/demo04-05.go +++ /dev/null @@ -1,15 +0,0 @@ -package main - -import ( - "fmt" -) - -func main() { - c1 := complex(5,7) - c2 := 8 + 27i - cadd := c1 + c2 - fmt.Println("sum:",cadd) - - cmul := c1 * c2 - fmt.Println("mul :",cmul) -} \ No newline at end of file diff --git a/demo04/demo04-06.go b/demo04/demo04-06.go deleted file mode 100644 index c9cc439..0000000 --- a/demo04/demo04-06.go +++ /dev/null @@ -1,12 +0,0 @@ -package main - -import ( - "fmt" -) - -func main() { - first := "Wan" - last := "ShaoBo" - name := first +" "+ last - fmt.Println("My name is",name) -} \ No newline at end of file diff --git a/demo04/demo04-07.go b/demo04/demo04-07.go deleted file mode 100644 index 148e047..0000000 --- a/demo04/demo04-07.go +++ /dev/null @@ -1,12 +0,0 @@ -package main - -import ( - "fmt" -) - -func main() { - i := 55 //int - j := 67.8 //float64 - sum := i + j //不允许 int + float64 - fmt.Println(sum) -} \ No newline at end of file diff --git a/demo04/demo04-08.go b/demo04/demo04-08.go deleted file mode 100644 index f53ed6a..0000000 --- a/demo04/demo04-08.go +++ /dev/null @@ -1,10 +0,0 @@ -package main - -import ( - "fmt" -) - -func main() { - var a = 5.9/8 - fmt.Printf("a's type %T value %v",a, a) -} \ No newline at end of file diff --git a/geometry/geometry.go b/geometry/geometry.go deleted file mode 100644 index d652de7..0000000 --- a/geometry/geometry.go +++ /dev/null @@ -1,18 +0,0 @@ -//geometry.go -package main - -import ( - "fmt" - "golang-tutorial/geometry/rectangle" //importing custom package -) - -func main() { - var rectLen, rectWidth float64 = 6, 7 - fmt.Println("Geometrical shape properties") - /*Area function of rectangle package used - */ - fmt.Printf("area of rectangle %.2f\n", rectangle.Area(rectLen, rectWidth)) - /*Diagonal function of rectangle package used - */ - fmt.Printf("diagonal of the rectangle %.2f ",rectangle.Diagonal(rectLen, rectWidth)) -} \ No newline at end of file diff --git a/geometry/geometry_.go b/geometry/geometry_.go deleted file mode 100644 index e719396..0000000 --- a/geometry/geometry_.go +++ /dev/null @@ -1,9 +0,0 @@ -package main - -import ( - _"golang-tutorial/geometry/rectangle" -) - -func main() { - -} \ No newline at end of file diff --git a/geometry/geometry_init.go b/geometry/geometry_init.go deleted file mode 100644 index 66a2c2d..0000000 --- a/geometry/geometry_init.go +++ /dev/null @@ -1,31 +0,0 @@ -//geometry.go -package main - -import ( - "fmt" - "golang-tutorial/geometry/rectangle" //importing custom package - "log" -) -/* - * 1. package variables -*/ -var rectLen, rectWidth float64 = -6, 7 - -/* -*2. init function to check if length and width are greater than zero -*/ -func init() { - println("main package initialized") - if rectLen < 0 { - log.Fatal("length is less than zero") - } - if rectWidth < 0 { - log.Fatal("width is less than zero") - } -} - -func main() { - fmt.Println("Geometrical shape properties") - fmt.Printf("area of rectangle %.2f\n", rectangle.Area(rectLen, rectWidth)) - fmt.Printf("diagonal of the rectangle %.2f ",rectangle.Diagonal(rectLen, rectWidth)) -} \ No newline at end of file diff --git a/geometry/rectangle/rectprops.go b/geometry/rectangle/rectprops.go deleted file mode 100644 index b7de7c0..0000000 --- a/geometry/rectangle/rectprops.go +++ /dev/null @@ -1,21 +0,0 @@ -package rectangle - -import "math" -import "fmt" - -/* - * init function added - */ - func init() { - fmt.Println("rectangle package initialized") -} - -func Area(len, wid float64) float64 { - area := len * wid - return area -} - -func Diagonal(len, wid float64) float64 { - diagonal := math.Sqrt((len * len) + (wid * wid)) - return diagonal -} \ No newline at end of file diff --git a/main.go b/main.go index 63ca6a2..5ef6b4c 100644 --- a/main.go +++ b/main.go @@ -1,7 +1,11 @@ package main -import "fmt" +import ( + "fmt" + "github.com/Tinywan/golang-tutorial/stringutil" +) func main() { - fmt.Println("Hello HI") + //fmt.Println("Hello golang-tutorial!") + fmt.Printf(stringutil.Reverse("!oG ,olleH")) } \ No newline at end of file diff --git a/stringutil/reverse.go b/stringutil/reverse.go new file mode 100644 index 0000000..3fdd7e8 --- /dev/null +++ b/stringutil/reverse.go @@ -0,0 +1,11 @@ +// Package stringutil contains utility functions for working with strings. +package stringutil + +// Reverse returns its argument string reversed rune-wise left to right. +func Reverse(s string) string { + r := []rune(s) + for i, j := 0, len(r)-1; i < len(r)/2; i, j = i+1, j-1 { + r[i], r[j] = r[j], r[i] + } + return string(r) +} \ No newline at end of file