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. 7package cast 8 9import "time" 10 11// ToBool casts an interface to a bool type. 12func ToBool(i interface{}) bool { 13 v, _ := ToBoolE(i) 14 return v 15} 16 17// ToTime casts an interface to a time.Time type. 18func ToTime(i interface{}) time.Time { 19 v, _ := ToTimeE(i) 20 return v 21} 22 23// ToDuration casts an interface to a time.Duration type. 24func ToDuration(i interface{}) time.Duration { 25 v, _ := ToDurationE(i) 26 return v 27} 28 29// ToFloat64 casts an interface to a float64 type. 30func ToFloat64(i interface{}) float64 { 31 v, _ := ToFloat64E(i) 32 return v 33} 34 35// ToFloat32 casts an interface to a float32 type. 36func ToFloat32(i interface{}) float32 { 37 v, _ := ToFloat32E(i) 38 return v 39} 40 41// ToInt64 casts an interface to an int64 type. 42func ToInt64(i interface{}) int64 { 43 v, _ := ToInt64E(i) 44 return v 45} 46 47// ToInt32 casts an interface to an int32 type. 48func ToInt32(i interface{}) int32 { 49 v, _ := ToInt32E(i) 50 return v 51} 52 53// ToInt16 casts an interface to an int16 type. 54func ToInt16(i interface{}) int16 { 55 v, _ := ToInt16E(i) 56 return v 57} 58 59// ToInt8 casts an interface to an int8 type. 60func ToInt8(i interface{}) int8 { 61 v, _ := ToInt8E(i) 62 return v 63} 64 65// ToInt casts an interface to an int type. 66func ToInt(i interface{}) int { 67 v, _ := ToIntE(i) 68 return v 69} 70 71// ToUint casts an interface to a uint type. 72func ToUint(i interface{}) uint { 73 v, _ := ToUintE(i) 74 return v 75} 76 77// ToUint64 casts an interface to a uint64 type. 78func ToUint64(i interface{}) uint64 { 79 v, _ := ToUint64E(i) 80 return v 81} 82 83// ToUint32 casts an interface to a uint32 type. 84func ToUint32(i interface{}) uint32 { 85 v, _ := ToUint32E(i) 86 return v 87} 88 89// ToUint16 casts an interface to a uint16 type. 90func ToUint16(i interface{}) uint16 { 91 v, _ := ToUint16E(i) 92 return v 93} 94 95// ToUint8 casts an interface to a uint8 type. 96func ToUint8(i interface{}) uint8 { 97 v, _ := ToUint8E(i) 98 return v 99} 100 101// ToString casts an interface to a string type. 102func ToString(i interface{}) string { 103 v, _ := ToStringE(i) 104 return v 105} 106 107// ToStringMapString casts an interface to a map[string]string type. 108func 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. 114func 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. 120func 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. 126func 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. 132func 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. 138func ToStringMap(i interface{}) map[string]interface{} { 139 v, _ := ToStringMapE(i) 140 return v 141} 142 143// ToSlice casts an interface to a []interface{} type. 144func ToSlice(i interface{}) []interface{} { 145 v, _ := ToSliceE(i) 146 return v 147} 148 149// ToBoolSlice casts an interface to a []bool type. 150func ToBoolSlice(i interface{}) []bool { 151 v, _ := ToBoolSliceE(i) 152 return v 153} 154 155// ToStringSlice casts an interface to a []string type. 156func ToStringSlice(i interface{}) []string { 157 v, _ := ToStringSliceE(i) 158 return v 159} 160 161// ToIntSlice casts an interface to a []int type. 162func ToIntSlice(i interface{}) []int { 163 v, _ := ToIntSliceE(i) 164 return v 165} 166 167// ToDurationSlice casts an interface to a []time.Duration type. 168func ToDurationSlice(i interface{}) []time.Duration { 169 v, _ := ToDurationSliceE(i) 170 return v 171} 172