gitlab.com/evatix-go/core@v1.3.55/typesconv/byte.go (about)

     1  package typesconv
     2  
     3  import "gitlab.com/evatix-go/core/constants"
     4  
     5  func BytePtr(val byte) *byte {
     6  	return &val
     7  }
     8  
     9  // BytePtrToSimple if nil then 0
    10  func BytePtrToSimple(val *byte) byte {
    11  	if val == nil {
    12  		return constants.Zero
    13  	}
    14  
    15  	return *val
    16  }
    17  
    18  // BytePtrToSimpleDef if nil then 0
    19  func BytePtrToSimpleDef(val *byte, defVal byte) byte {
    20  	if val == nil {
    21  		return defVal
    22  	}
    23  
    24  	return *val
    25  }
    26  
    27  // BytePtrToDefPtr if nil then 0
    28  func BytePtrToDefPtr(val *byte, defVal byte) *byte {
    29  	if val == nil {
    30  		return &defVal
    31  	}
    32  
    33  	return val
    34  }
    35  
    36  // BytePtrDefValFunc if nil then executes returns defValFunc result as pointer
    37  func BytePtrDefValFunc(val *byte, defValFunc func() byte) *byte {
    38  	if val == nil {
    39  		result := defValFunc()
    40  
    41  		return &result
    42  	}
    43  
    44  	return val
    45  }