github.com/bingoohuang/gg@v0.0.0-20240325092523-45da7dee9335/pkg/cast/cast.go (about) 1 // Copyright © 2014 Steve Francia <spf@spf13.com>. 2 // 3 // Use of this source code is governed by an MIT-style 4 // license that can be found in the LICENSE file. 5 6 // Package cast provides easy and safe casting in Go. 7 package cast 8 9 import "time" 10 11 // ToBool casts an interface to a bool type. 12 func ToBool(i interface{}) bool { 13 v, _ := ToBoolE(i) 14 return v 15 } 16 17 // ToTime casts an interface to a time.Time type. 18 func ToTime(i interface{}) time.Time { 19 v, _ := ToTimeE(i) 20 return v 21 } 22 23 // ToDuration casts an interface to a time.Duration type. 24 func ToDuration(i interface{}) time.Duration { 25 v, _ := ToDurationE(i) 26 return v 27 } 28 29 // ToFloat64 casts an interface to a float64 type. 30 func ToFloat64(i interface{}) float64 { 31 v, _ := ToFloat64E(i) 32 return v 33 } 34 35 // ToFloat32 casts an interface to a float32 type. 36 func ToFloat32(i interface{}) float32 { 37 v, _ := ToFloat32E(i) 38 return v 39 } 40 41 // ToInt64 casts an interface to an int64 type. 42 func ToInt64(i interface{}) int64 { 43 v, _ := ToInt64E(i) 44 return v 45 } 46 47 // ToInt32 casts an interface to an int32 type. 48 func ToInt32(i interface{}) int32 { 49 v, _ := ToInt32E(i) 50 return v 51 } 52 53 // ToInt16 casts an interface to an int16 type. 54 func ToInt16(i interface{}) int16 { 55 v, _ := ToInt16E(i) 56 return v 57 } 58 59 // ToInt8 casts an interface to an int8 type. 60 func ToInt8(i interface{}) int8 { 61 v, _ := ToInt8E(i) 62 return v 63 } 64 65 // ToInt casts an interface to an int type. 66 func ToInt(i interface{}) int { 67 v, _ := ToIntE(i) 68 return v 69 } 70 71 // ToUint casts an interface to a uint type. 72 func ToUint(i interface{}) uint { 73 v, _ := ToUintE(i) 74 return v 75 } 76 77 // ToUint64 casts an interface to a uint64 type. 78 func ToUint64(i interface{}) uint64 { 79 v, _ := ToUint64E(i) 80 return v 81 } 82 83 // ToUint32 casts an interface to a uint32 type. 84 func ToUint32(i interface{}) uint32 { 85 v, _ := ToUint32E(i) 86 return v 87 } 88 89 // ToUint16 casts an interface to a uint16 type. 90 func ToUint16(i interface{}) uint16 { 91 v, _ := ToUint16E(i) 92 return v 93 } 94 95 // ToUint8 casts an interface to a uint8 type. 96 func ToUint8(i interface{}) uint8 { 97 v, _ := ToUint8E(i) 98 return v 99 } 100 101 // ToString casts an interface to a string type. 102 func ToString(i interface{}) string { 103 v, _ := ToStringE(i) 104 return v 105 } 106 107 // ToStringMapString casts an interface to a map[string]string type. 108 func ToStringMapString(i interface{}) map[string]string { 109 v, _ := ToStringMapStringE(i) 110 return v 111 } 112 113 // ToStringMapStringSlice casts an interface to a map[string][]string type. 114 func ToStringMapStringSlice(i interface{}) map[string][]string { 115 v, _ := ToStringMapStringSliceE(i) 116 return v 117 } 118 119 // ToStringMapBool casts an interface to a map[string]bool type. 120 func ToStringMapBool(i interface{}) map[string]bool { 121 v, _ := ToStringMapBoolE(i) 122 return v 123 } 124 125 // ToStringMapInt casts an interface to a map[string]int type. 126 func ToStringMapInt(i interface{}) map[string]int { 127 v, _ := ToStringMapIntE(i) 128 return v 129 } 130 131 // ToStringMapInt64 casts an interface to a map[string]int64 type. 132 func ToStringMapInt64(i interface{}) map[string]int64 { 133 v, _ := ToStringMapInt64E(i) 134 return v 135 } 136 137 // ToStringMap casts an interface to a map[string]interface{} type. 138 func ToStringMap(i interface{}) map[string]interface{} { 139 v, _ := ToStringMapE(i) 140 return v 141 } 142 143 // ToSlice casts an interface to a []interface{} type. 144 func ToSlice(i interface{}) []interface{} { 145 v, _ := ToSliceE(i) 146 return v 147 } 148 149 // ToBoolSlice casts an interface to a []bool type. 150 func ToBoolSlice(i interface{}) []bool { 151 v, _ := ToBoolSliceE(i) 152 return v 153 } 154 155 // ToStringSlice casts an interface to a []string type. 156 func ToStringSlice(i interface{}) []string { 157 v, _ := ToStringSliceE(i) 158 return v 159 } 160 161 // ToIntSlice casts an interface to a []int type. 162 func ToIntSlice(i interface{}) []int { 163 v, _ := ToIntSliceE(i) 164 return v 165 } 166 167 // ToDurationSlice casts an interface to a []time.Duration type. 168 func ToDurationSlice(i interface{}) []time.Duration { 169 v, _ := ToDurationSliceE(i) 170 return v 171 }