code: func isZero(rv reflect.Value) bool {
  	zero := true
  	switch rv.Kind() {
  	case reflect.Bool:
  		zero = !rv.Bool()
  	case reflect.Float32, reflect.Float64:
  		zero = rv.Float() == 0
  	case reflect.Int, reflect.Int8, reflect.Int16, reflect.Int32, reflect.Int64:
  		zero = rv.Int() == 0
  	case reflect.Interface, reflect.Map, reflect.Ptr, reflect.Slice:
  		zero = rv.IsNil()
  	case reflect.String:
  		zero = rv.String() == ""
  	case reflect.Uint, reflect.Uintptr, reflect.Uint8, reflect.Uint16, reflect.Uint32, reflect.Uint64:
  		zero = rv.Uint() == 0
  	}
  
  	return zero
  }
docs: // isZero shallowly check wether a field in struct is zero or not