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  }