cast.go 3.9 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176
  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. // Package cast provides easy and safe casting in Go.
  6. package cast
  7. import "time"
  8. // ToBool casts an interface to a bool type.
  9. func ToBool(i interface{}) bool {
  10. v, _ := ToBoolE(i)
  11. return v
  12. }
  13. // ToTime casts an interface to a time.Time type.
  14. func ToTime(i interface{}) time.Time {
  15. v, _ := ToTimeE(i)
  16. return v
  17. }
  18. func ToTimeInDefaultLocation(i interface{}, location *time.Location) time.Time {
  19. v, _ := ToTimeInDefaultLocationE(i, location)
  20. return v
  21. }
  22. // ToDuration casts an interface to a time.Duration type.
  23. func ToDuration(i interface{}) time.Duration {
  24. v, _ := ToDurationE(i)
  25. return v
  26. }
  27. // ToFloat64 casts an interface to a float64 type.
  28. func ToFloat64(i interface{}) float64 {
  29. v, _ := ToFloat64E(i)
  30. return v
  31. }
  32. // ToFloat32 casts an interface to a float32 type.
  33. func ToFloat32(i interface{}) float32 {
  34. v, _ := ToFloat32E(i)
  35. return v
  36. }
  37. // ToInt64 casts an interface to an int64 type.
  38. func ToInt64(i interface{}) int64 {
  39. v, _ := ToInt64E(i)
  40. return v
  41. }
  42. // ToInt32 casts an interface to an int32 type.
  43. func ToInt32(i interface{}) int32 {
  44. v, _ := ToInt32E(i)
  45. return v
  46. }
  47. // ToInt16 casts an interface to an int16 type.
  48. func ToInt16(i interface{}) int16 {
  49. v, _ := ToInt16E(i)
  50. return v
  51. }
  52. // ToInt8 casts an interface to an int8 type.
  53. func ToInt8(i interface{}) int8 {
  54. v, _ := ToInt8E(i)
  55. return v
  56. }
  57. // ToInt casts an interface to an int type.
  58. func ToInt(i interface{}) int {
  59. v, _ := ToIntE(i)
  60. return v
  61. }
  62. // ToUint casts an interface to a uint type.
  63. func ToUint(i interface{}) uint {
  64. v, _ := ToUintE(i)
  65. return v
  66. }
  67. // ToUint64 casts an interface to a uint64 type.
  68. func ToUint64(i interface{}) uint64 {
  69. v, _ := ToUint64E(i)
  70. return v
  71. }
  72. // ToUint32 casts an interface to a uint32 type.
  73. func ToUint32(i interface{}) uint32 {
  74. v, _ := ToUint32E(i)
  75. return v
  76. }
  77. // ToUint16 casts an interface to a uint16 type.
  78. func ToUint16(i interface{}) uint16 {
  79. v, _ := ToUint16E(i)
  80. return v
  81. }
  82. // ToUint8 casts an interface to a uint8 type.
  83. func ToUint8(i interface{}) uint8 {
  84. v, _ := ToUint8E(i)
  85. return v
  86. }
  87. // ToString casts an interface to a string type.
  88. func ToString(i interface{}) string {
  89. v, _ := ToStringE(i)
  90. return v
  91. }
  92. // ToStringMapString casts an interface to a map[string]string type.
  93. func ToStringMapString(i interface{}) map[string]string {
  94. v, _ := ToStringMapStringE(i)
  95. return v
  96. }
  97. // ToStringMapStringSlice casts an interface to a map[string][]string type.
  98. func ToStringMapStringSlice(i interface{}) map[string][]string {
  99. v, _ := ToStringMapStringSliceE(i)
  100. return v
  101. }
  102. // ToStringMapBool casts an interface to a map[string]bool type.
  103. func ToStringMapBool(i interface{}) map[string]bool {
  104. v, _ := ToStringMapBoolE(i)
  105. return v
  106. }
  107. // ToStringMapInt casts an interface to a map[string]int type.
  108. func ToStringMapInt(i interface{}) map[string]int {
  109. v, _ := ToStringMapIntE(i)
  110. return v
  111. }
  112. // ToStringMapInt64 casts an interface to a map[string]int64 type.
  113. func ToStringMapInt64(i interface{}) map[string]int64 {
  114. v, _ := ToStringMapInt64E(i)
  115. return v
  116. }
  117. // ToStringMap casts an interface to a map[string]interface{} type.
  118. func ToStringMap(i interface{}) map[string]interface{} {
  119. v, _ := ToStringMapE(i)
  120. return v
  121. }
  122. // ToSlice casts an interface to a []interface{} type.
  123. func ToSlice(i interface{}) []interface{} {
  124. v, _ := ToSliceE(i)
  125. return v
  126. }
  127. // ToBoolSlice casts an interface to a []bool type.
  128. func ToBoolSlice(i interface{}) []bool {
  129. v, _ := ToBoolSliceE(i)
  130. return v
  131. }
  132. // ToStringSlice casts an interface to a []string type.
  133. func ToStringSlice(i interface{}) []string {
  134. v, _ := ToStringSliceE(i)
  135. return v
  136. }
  137. // ToIntSlice casts an interface to a []int type.
  138. func ToIntSlice(i interface{}) []int {
  139. v, _ := ToIntSliceE(i)
  140. return v
  141. }
  142. // ToDurationSlice casts an interface to a []time.Duration type.
  143. func ToDurationSlice(i interface{}) []time.Duration {
  144. v, _ := ToDurationSliceE(i)
  145. return v
  146. }