github.com/antihax/goesi@v0.0.0-20240126031043-6c54d0cb7f95/optional/string.go (about) 1 package optional 2 3 type String struct { 4 isSet bool 5 value string 6 } 7 8 func NewString(value string) String { 9 return String{ 10 true, 11 value, 12 } 13 } 14 15 // EmptyString returns a new String that does not have a value set. 16 func EmptyString() String { 17 return String{ 18 false, 19 "", 20 } 21 } 22 23 func (b String) IsSet() bool { 24 return b.isSet 25 } 26 27 func (b String) Value() string { 28 return b.value 29 } 30 31 func (b String) Default(defaultValue string) string { 32 if b.isSet { 33 return b.value 34 } 35 return defaultValue 36 }