2019-02-10 13:20:30 +01:00

37 lines
439 B
Go

package optional
type Int struct {
isSet bool
value int
}
func NewInt(value int) Int {
return Int{
true,
value,
}
}
// EmptyInt returns a new Int that does not have a value set.
func EmptyInt() Int {
return Int{
false,
0,
}
}
func (i Int) IsSet() bool {
return i.isSet
}
func (i Int) Value() int {
return i.value
}
func (i Int) Default(defaultValue int) int {
if i.isSet {
return i.value
}
return defaultValue
}