1 // Copyright © 2014 Steve Francia <spf@spf13.com>.
3 // Use of this source code is governed by an MIT-style
4 // license that can be found in the LICENSE file.
6 // Package cast provides easy and safe casting in Go.
11 // ToBool casts an interface to a bool type.
12 func ToBool(i interface{}) bool {
17 // ToTime casts an interface to a time.Time type.
18 func ToTime(i interface{}) time.Time {
23 // ToDuration casts an interface to a time.Duration type.
24 func ToDuration(i interface{}) time.Duration {
25 v, _ := ToDurationE(i)
29 // ToFloat64 casts an interface to a float64 type.
30 func ToFloat64(i interface{}) float64 {
35 // ToFloat32 casts an interface to a float32 type.
36 func ToFloat32(i interface{}) float32 {
41 // ToInt64 casts an interface to an int64 type.
42 func ToInt64(i interface{}) int64 {
47 // ToInt32 casts an interface to an int32 type.
48 func ToInt32(i interface{}) int32 {
53 // ToInt16 casts an interface to an int16 type.
54 func ToInt16(i interface{}) int16 {
59 // ToInt8 casts an interface to an int8 type.
60 func ToInt8(i interface{}) int8 {
65 // ToInt casts an interface to an int type.
66 func ToInt(i interface{}) int {
71 // ToUint casts an interface to a uint type.
72 func ToUint(i interface{}) uint {
77 // ToUint64 casts an interface to a uint64 type.
78 func ToUint64(i interface{}) uint64 {
83 // ToUint32 casts an interface to a uint32 type.
84 func ToUint32(i interface{}) uint32 {
89 // ToUint16 casts an interface to a uint16 type.
90 func ToUint16(i interface{}) uint16 {
95 // ToUint8 casts an interface to a uint8 type.
96 func ToUint8(i interface{}) uint8 {
101 // ToString casts an interface to a string type.
102 func ToString(i interface{}) string {
107 // ToStringMapString casts an interface to a map[string]string type.
108 func ToStringMapString(i interface{}) map[string]string {
109 v, _ := ToStringMapStringE(i)
113 // ToStringMapStringSlice casts an interface to a map[string][]string type.
114 func ToStringMapStringSlice(i interface{}) map[string][]string {
115 v, _ := ToStringMapStringSliceE(i)
119 // ToStringMapBool casts an interface to a map[string]bool type.
120 func ToStringMapBool(i interface{}) map[string]bool {
121 v, _ := ToStringMapBoolE(i)
125 // ToStringMap casts an interface to a map[string]interface{} type.
126 func ToStringMap(i interface{}) map[string]interface{} {
127 v, _ := ToStringMapE(i)
131 // ToSlice casts an interface to a []interface{} type.
132 func ToSlice(i interface{}) []interface{} {
137 // ToBoolSlice casts an interface to a []bool type.
138 func ToBoolSlice(i interface{}) []bool {
139 v, _ := ToBoolSliceE(i)
143 // ToStringSlice casts an interface to a []string type.
144 func ToStringSlice(i interface{}) []string {
145 v, _ := ToStringSliceE(i)
149 // ToIntSlice casts an interface to a []int type.
150 func ToIntSlice(i interface{}) []int {
151 v, _ := ToIntSliceE(i)
155 // ToDurationSlice casts an interface to a []time.Duration type.
156 func ToDurationSlice(i interface{}) []time.Duration {
157 v, _ := ToDurationSliceE(i)