feat(Go-StudyExample):增加cast类型转换工具包测试
This commit is contained in:
@@ -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 TestCastBasic(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)
|
||||
}
|
||||
}
|
||||
Reference in New Issue
Block a user