File tree Expand file tree Collapse file tree 2 files changed +35
-0
lines changed Expand file tree Collapse file tree 2 files changed +35
-0
lines changed Original file line number Diff line number Diff line change 55Golang中缺少三元表达式,就导致某些情况三元表达式一行就能搞定的事情到Golang里面就得写得很啰嗦,
66这是无法忍受的,~~ 这个库就是借助大量自定义的if函数来实现类似三元表达式的功能~~ ,最新版本是基于泛型实现的。
77
8+ 使用此库之前:
9+
10+ ``` go
11+ if a % 2 == 0 {
12+ return " 偶数"
13+ } else {
14+ return " 奇数"
15+ }
16+ ```
17+
18+ 使用此库之后:
19+
20+ ``` go
21+ return if_expression.Return (a % 2 == 0 , " 偶数" , " 奇数" )
22+ ```
23+
24+ 对比:
25+
26+ ``` diff
27+ - if a % 2 == 0 {
28+ - return "偶数"
29+ - } else {
30+ - return "奇数"
31+ - }
32+ + return if_expression.Return(a % 2 == 0, "偶数", "奇数")
33+ ```
34+
835## 二、引入依赖
936
1037go get安装:
Original file line number Diff line number Diff line change @@ -16,3 +16,11 @@ func ExampleReturn() {
1616 // Output:
1717 // 是
1818}
19+
20+ func TestMap (t * testing.T ) {
21+ m := map [string ]interface {}{
22+ "foo" : "bar" ,
23+ }
24+ //t.Log(m["bad"]) // nil
25+ t .Log (Return (m ["bad" ] != nil , m ["bad" ], "aaa" )) // ⚠️ 范型传nil进来就panic了.
26+ }
You can’t perform that action at this time.
0 commit comments