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 }