在Go中轻松安全地从一种数据类型转换为另一种数据类型
You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
 
 
 

99 lines
1.6 KiB

  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
  6. import "time"
  7. func ToBool(i interface{}) bool {
  8. v, _ := ToBoolE(i)
  9. return v
  10. }
  11. func ToTime(i interface{}) time.Time {
  12. v, _ := ToTimeE(i)
  13. return v
  14. }
  15. func ToDuration(i interface{}) time.Duration {
  16. v, _ := ToDurationE(i)
  17. return v
  18. }
  19. func ToFloat64(i interface{}) float64 {
  20. v, _ := ToFloat64E(i)
  21. return v
  22. }
  23. func ToInt64(i interface{}) int64 {
  24. v, _ := ToInt64E(i)
  25. return v
  26. }
  27. func ToInt32(i interface{}) int32 {
  28. v, _ := ToInt32E(i)
  29. return v
  30. }
  31. func ToInt16(i interface{}) int16 {
  32. v, _ := ToInt16E(i)
  33. return v
  34. }
  35. func ToInt8(i interface{}) int8 {
  36. v, _ := ToInt8E(i)
  37. return v
  38. }
  39. func ToInt(i interface{}) int {
  40. v, _ := ToIntE(i)
  41. return v
  42. }
  43. func ToString(i interface{}) string {
  44. v, _ := ToStringE(i)
  45. return v
  46. }
  47. func ToStringMapString(i interface{}) map[string]string {
  48. v, _ := ToStringMapStringE(i)
  49. return v
  50. }
  51. func ToStringMapStringSlice(i interface{}) map[string][]string {
  52. v, _ := ToStringMapStringSliceE(i)
  53. return v
  54. }
  55. func ToStringMapBool(i interface{}) map[string]bool {
  56. v, _ := ToStringMapBoolE(i)
  57. return v
  58. }
  59. func ToStringMap(i interface{}) map[string]interface{} {
  60. v, _ := ToStringMapE(i)
  61. return v
  62. }
  63. func ToSlice(i interface{}) []interface{} {
  64. v, _ := ToSliceE(i)
  65. return v
  66. }
  67. func ToBoolSlice(i interface{}) []bool {
  68. v, _ := ToBoolSliceE(i)
  69. return v
  70. }
  71. func ToStringSlice(i interface{}) []string {
  72. v, _ := ToStringSliceE(i)
  73. return v
  74. }
  75. func ToIntSlice(i interface{}) []int {
  76. v, _ := ToIntSliceE(i)
  77. return v
  78. }