From 15ff62152df9b05b25e50d91cca0194c091e55c3 Mon Sep 17 00:00:00 2001 From: Huangzj Date: Mon, 28 Dec 2020 09:51:01 +0800 Subject: [PATCH] =?UTF-8?q?feat(Go-StudyExample):2020/12/28=EF=BC=9A?= =?UTF-8?q?=E6=96=B0=E5=A2=9Ecast=E7=B1=BB=E5=9E=8B=E8=BD=AC=E6=8D=A2?= =?UTF-8?q?=E5=B7=A5=E5=85=B7=E5=8C=85?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- example/cast/Cast_test.go | 41 +++++++++++++++++++++++++++++++++++++++ example/cast/readme.md | 5 +++++ readme.md | 4 +++- 3 files changed, 49 insertions(+), 1 deletion(-) create mode 100644 example/cast/Cast_test.go create mode 100644 example/cast/readme.md diff --git a/example/cast/Cast_test.go b/example/cast/Cast_test.go new file mode 100644 index 0000000..d194e7f --- /dev/null +++ b/example/cast/Cast_test.go @@ -0,0 +1,41 @@ +/* + * @Author : huangzj + * @Time : 2020/12/28 9:18 + * @Description:测试cast,这个包是把interface,根据类型进行转换的处理 + */ + +package cast + +import ( + "fmt" + "github.com/spf13/cast" + "testing" +) + +func TestCast(t *testing.T) { + // ToString + fmt.Println(cast.ToString("leedarjun")) // leedarjun + fmt.Println(cast.ToString(8)) // 8 + fmt.Println(cast.ToString(8.31)) // 8.31 + fmt.Println(cast.ToString([]byte("one time"))) // one time + fmt.Println(cast.ToString(nil)) // "" + + var foo interface{} = "one more time" + fmt.Println(cast.ToString(foo)) // one more time + + // ToInt + fmt.Println(cast.ToInt(8)) // 8 + fmt.Println(cast.ToInt(8.31)) // 8 + fmt.Println(cast.ToInt("8")) // 8 + fmt.Println(cast.ToInt(true)) // 1 + fmt.Println(cast.ToInt(false)) // 0 + + var eight interface{} = 8 + fmt.Println(cast.ToInt(eight)) // 8 + fmt.Println(cast.ToInt(nil)) // 0 + //To..E方法会返回转换错误的报错信息 + _, e := cast.ToIntE("asda") + if e != nil { + fmt.Println(e) + } +} diff --git a/example/cast/readme.md b/example/cast/readme.md new file mode 100644 index 0000000..c5a0038 --- /dev/null +++ b/example/cast/readme.md @@ -0,0 +1,5 @@ +获取包命令:go get github.com/spf13/cast + +To..方法直接返回转换后的类型 + +To..E方法,返回转换后的类型和报错信息 \ No newline at end of file diff --git a/readme.md b/readme.md index ed2c879..570cf57 100644 --- a/readme.md +++ b/readme.md @@ -31,7 +31,9 @@ json与struct之间转换处理工具使用示例 2020/12/25:新增leetcode部分习题(数据结构、二进制相关) -2020/12/25:新增carbon时间操作库使用示例 +2020/12/25: 新增carbon时间操作库使用示例 + +2020/12/28:新增cast类型转换工具包 # mod vendor模式加载包 通过go mod的方式加载的github上面的包会有报红的问题,但是包本身是可以运行的,这样就是会有一个问题,如果你想要点击去看方法的内容,没办法做到