主要用于在一些无法预测类型的时候使用,如外部提交过来的数据等等。。。
// 获取类型
func GetType(s interface{}) string
// 是否布尔值
func IsBool(v interface{}) bool
// 是否字节
func IsByte(v interface{}) bool
// 是否浮点
func IsFloat32(v interface{}) bool
func IsFloat64(v interface{}) bool
// 是否整型
func IsInt(v interface{}) bool
func IsInt16(v interface{}) bool
func IsInt32(v interface{}) bool
func IsInt64(v interface{}) bool
func IsInt8(v interface{}) bool
// 是否字符串
func IsString(v interface{}) bool
func IsStruct(v interface{}) bool
func IsUint(v interface{}) bool
func IsUint16(v interface{}) bool
func IsUint32(v interface{}) bool
func IsUint64(v interface{}) bool
func IsUint8(v interface{}) bool
func IsInterface(v interface{}) bool
// 转换成布尔值
func ToBool(i interface{}) bool
// 转换成字节
func ToByte(i interface{}) []byte
// 转换成浮点
func ToFloat32(i interface{}) float32
func ToFloat64(i interface{}) float64
// 转换成整型
func ToInt(i interface{}) int
func ToInt16(i interface{}) int16
func ToInt32(i interface{}) int32
func ToInt64(i interface{}) int64
func ToInt8(i interface{}) int8
func ToUint(i interface{}) uint
func ToUint16(i interface{}) uint16
func ToUint32(i interface{}) uint32
func ToUint64(i interface{}) uint64
func ToUint8(i interface{}) uint8
// 转换成字符串
func ToString(i interface{}) string
// 转换成 map
func ToMap(value interface{}) Map
// 转换成 maps
func ToMaps(value interface{}) Maps
// 任意进制转换
func DecimalToAny(value, base int) (newNumStr string)
func AnyToDecimal(value string, base int) (v int)
package main
import(
"github.com/sohaha/zlsgo/ztype"
"github.com/sohaha/zlsgo/zlog"
)
func main() {
name := 10086
zlog.Println("This is string: ",ztype.ToString(name))
}
// 动态生成结构体
s := ztype.NewStruct()
s.AddField("Name", "")
// 移除
s.RemoveField("Name")
// 获取值
s.Interface()
// 合并结构体
s.Merge(xxx{})
// 动态生成 Map
key := "" // Map 的 key 类型
s := ztype.NewMapStruct(key)