go get github.com/spf13/cast
cast可以在 Go 中轻松安全地从一种类型转换为另一种类型,Cast 提供了简单的函数来轻松地将数字转换为字符串,将接口转换为布尔值等。当需要显示类型转换时,Cast 会智能地执行转换操作。
cast通过了两组方法ToXXX
和ToXXXE
:
ToXXX
:这些方法将始终返回所需的类型。如果提供的输入不会转换为该类型,则将返回该类型的 0 或 nil 值。
ToXXXE
:这些返回与 To_____ 方法相同的结果,加上一个额外的错误,告诉你它是否成功转换。使用这些方法,你可以区分输入何时匹配零值或转换失败并返回零值。
cast.ToString("mayonegg") // "mayonegg"
cast.ToString(8) // "8"
cast.ToString(8.31) // "8.31"
cast.ToString([]byte("one time")) // "one time"
cast.ToString(nil) // ""
var foo interface{} = "one more time"
cast.ToString(foo) // "one more time"
cast.ToInt(8) // 8
cast.ToInt(8.31) // 8
cast.ToInt("8") // 8
cast.ToInt(true) // 1
cast.ToInt(false) // 0
var eight interface{} = 8
cast.ToInt(eight) // 8
cast.ToInt(nil) // 0