gitlab.com/evatix-go/core@v1.3.55/isany/Null.go (about)

     1  package isany
     2  
     3  import "reflect"
     4  
     5  // Null
     6  //
     7  // Returns true for any nil given
     8  //
     9  // Reference : https://stackoverflow.com/a/43896204
    10  func Null(item interface{}) bool {
    11  	if item == nil {
    12  		return true
    13  	}
    14  
    15  	rv := reflect.ValueOf(item)
    16  
    17  	switch rv.Kind() {
    18  	case reflect.Chan, reflect.Func, reflect.Map, reflect.Ptr, reflect.UnsafePointer, reflect.Slice:
    19  		return rv.IsNil()
    20  	default:
    21  		return false
    22  	}
    23  }