make application with base logic

This commit is contained in:
Gitea
2023-11-26 15:39:34 +03:00
parent 0553ea71c3
commit 606b94e35b
32 changed files with 1070 additions and 27 deletions

View File

@ -0,0 +1,42 @@
package nullable
type Value[T any] struct {
value T
valid bool
}
func NewValue[T any](value T) Value[T] {
return Value[T]{
value: value,
valid: true,
}
}
func NewValuePtr[T any](value *T) Value[T] {
if value == nil {
return Value[T]{}
}
return NewValue(*value)
}
func (n Value[T]) Value() T {
return n.value
}
func (n Value[T]) Valid() bool {
return n.valid
}
func (n Value[T]) ValutPtr() *T {
if n.valid {
return &n.value
}
return nil
}
func (n *Value[T]) Set(value T) {
n.valid = true
n.value = value
}