From 087b6305f02069a5039fb10d5c6a85390376973b Mon Sep 17 00:00:00 2001 From: CC11001100 Date: Thu, 24 Nov 2022 14:57:34 +0800 Subject: [PATCH 1/2] update README.md, add example code diff --- README.md | 27 +++++++++++++++++++++++++++ if_expression_test.go | 8 ++++++++ 2 files changed, 35 insertions(+) diff --git a/README.md b/README.md index 9b0cf0f..e1c2e7a 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了. +} From 05546b4ec243be5669c51cf5287af3348aa8564a Mon Sep 17 00:00:00 2001 From: CC11001100 Date: Thu, 24 Nov 2022 14:58:03 +0800 Subject: [PATCH 2/2] update README.md, add example code diff --- README.md | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/README.md b/README.md index e1c2e7a..917b4b9 100644 --- a/README.md +++ b/README.md @@ -9,9 +9,9 @@ Golang中缺少三元表达式,就导致某些情况三元表达式一行就 ```go if a % 2 == 0 { -return "偶数" + return "偶数" } else { -return "奇数" + return "奇数" } ```