diff --git a/README.md b/README.md index 9b0cf0f..917b4b9 100644 --- a/README.md +++ b/README.md @@ -5,6 +5,33 @@ Golang中缺少三元表达式,就导致某些情况三元表达式一行就能搞定的事情到Golang里面就得写得很啰嗦, 这是无法忍受的,~~这个库就是借助大量自定义的if函数来实现类似三元表达式的功能~~,最新版本是基于泛型实现的。 +使用此库之前: + +```go +if a % 2 == 0 { + return "偶数" +} else { + return "奇数" +} +``` + +使用此库之后: + +```go +return if_expression.Return(a % 2 == 0, "偶数", "奇数") +``` + +对比: + +```diff +- if a % 2 == 0 { +- return "偶数" +- } else { +- return "奇数" +- } ++ return if_expression.Return(a % 2 == 0, "偶数", "奇数") +``` + ## 二、引入依赖 go get安装: diff --git a/if_expression_test.go b/if_expression_test.go index 21c23d9..d308609 100644 --- a/if_expression_test.go +++ b/if_expression_test.go @@ -16,3 +16,11 @@ func ExampleReturn() { // Output: // 是 } + +func TestMap(t *testing.T) { + m := map[string]interface{}{ + "foo": "bar", + } + //t.Log(m["bad"]) // nil + t.Log(Return(m["bad"] != nil, m["bad"], "aaa")) // ⚠️ 范型传nil进来就panic了. +}