From 04599ffaa6f13db4c13445a600dc28d0dbc8e0cb Mon Sep 17 00:00:00 2001 From: sunjian126 Date: Mon, 27 May 2019 14:23:05 +0800 Subject: [PATCH 1/2] add golang code err --- golang/array_param.go | 1 + golang/fuck_defer.go | 1 + golang/fuck_recover.go | 1 + golang/json_demo.go | 21 +++++++++++++++++++++ golang/waht_err.go | 1 + 5 files changed, 25 insertions(+) create mode 100644 golang/array_param.go create mode 100644 golang/fuck_defer.go create mode 100644 golang/fuck_recover.go create mode 100644 golang/json_demo.go create mode 100644 golang/waht_err.go diff --git a/golang/array_param.go b/golang/array_param.go new file mode 100644 index 0000000..06ab7d0 --- /dev/null +++ b/golang/array_param.go @@ -0,0 +1 @@ +package main diff --git a/golang/fuck_defer.go b/golang/fuck_defer.go new file mode 100644 index 0000000..06ab7d0 --- /dev/null +++ b/golang/fuck_defer.go @@ -0,0 +1 @@ +package main diff --git a/golang/fuck_recover.go b/golang/fuck_recover.go new file mode 100644 index 0000000..06ab7d0 --- /dev/null +++ b/golang/fuck_recover.go @@ -0,0 +1 @@ +package main diff --git a/golang/json_demo.go b/golang/json_demo.go new file mode 100644 index 0000000..68ff35f --- /dev/null +++ b/golang/json_demo.go @@ -0,0 +1,21 @@ +package main + +import ( + "encoding/json" + "fmt" +) + +func main() { + + newMap := make(map[string]interface{}) + + jsonStr := `{ + "name":"ansj", + "age":12 + }` + + //golang json 序列化只支持指针对象 + _ = json.Unmarshal([]byte(jsonStr), newMap) + + fmt.Println(newMap) +} \ No newline at end of file diff --git a/golang/waht_err.go b/golang/waht_err.go new file mode 100644 index 0000000..06ab7d0 --- /dev/null +++ b/golang/waht_err.go @@ -0,0 +1 @@ +package main -- Gitee From 3b222e744a9ad69142bd5759e1f1f6292ed8e1a9 Mon Sep 17 00:00:00 2001 From: sunjian126 Date: Mon, 27 May 2019 14:23:44 +0800 Subject: [PATCH 2/2] add golang demo --- .gitignore | 3 ++- golang/array_param.go | 16 ++++++++++++++++ golang/fuck_defer.go | 16 ++++++++++++++++ golang/fuck_recover.go | 19 +++++++++++++++++++ golang/waht_err.go | 20 ++++++++++++++++++++ 5 files changed, 73 insertions(+), 1 deletion(-) diff --git a/.gitignore b/.gitignore index 723ef36..63b7211 100644 --- a/.gitignore +++ b/.gitignore @@ -1 +1,2 @@ -.idea \ No newline at end of file +.idea +bullshit-codes.iml diff --git a/golang/array_param.go b/golang/array_param.go index 06ab7d0..d0d7963 100644 --- a/golang/array_param.go +++ b/golang/array_param.go @@ -1 +1,17 @@ package main + +import "fmt" + + +//from https://books.studygolang.com/advanced-go-programming-book/appendix/appendix-a-trap.html +func main() { + x := [3]int{1, 2, 3} + + //在函数调用参数中,数组是值传递,无法通过修改数组类型的参数返回结果。 + func(arr [3]int) { + arr[0] = 7 + fmt.Println(arr) + }(x) + + fmt.Println(x) +} \ No newline at end of file diff --git a/golang/fuck_defer.go b/golang/fuck_defer.go index 06ab7d0..335e45c 100644 --- a/golang/fuck_defer.go +++ b/golang/fuck_defer.go @@ -1 +1,17 @@ package main + +import "fmt" + +var s = 0 +func main() { + for i := 0; i < 5; i++ { + //正经人不会吧defer写在循环中 + defer printS() + s = i + } +} + +func printS() { + fmt.Println(s) +} + diff --git a/golang/fuck_recover.go b/golang/fuck_recover.go index 06ab7d0..4ecc7cb 100644 --- a/golang/fuck_recover.go +++ b/golang/fuck_recover.go @@ -1 +1,20 @@ package main + +import "fmt" + +var m = 0 + +func main() { + //defer 方法中的参数方法会被执行时候县渲染。 这个时候返回的是0 而不是1 + defer doSome(getValue()) + m = 1 + fmt.Println("end") +} + +func doSome(value int) { + fmt.Println(value) +} + +func getValue() int { + return m +} diff --git a/golang/waht_err.go b/golang/waht_err.go index 06ab7d0..6d59461 100644 --- a/golang/waht_err.go +++ b/golang/waht_err.go @@ -1 +1,21 @@ package main + +import "fmt" + +//参考 https://books.studygolang.com/advanced-go-programming-book/appendix/appendix-a-trap.html +func main() { + fmt.Println(errMehthod()) +} + +func errMehthod() (err error) { + if err := Bar(); err != nil { + //在局部作用域中,命名的返回值内同名的局部变量屏蔽: + //这里运行时会报错。编译不报错 + return + } + return +} + +func Bar() error { + return fmt.Errorf("fuck hongshu") +} -- Gitee