53 lines
677 B
Go
53 lines
677 B
Go
|
// Copyright 2024 Patial Tech (Ankit Patial).
|
||
|
// All rights reserved.
|
||
|
|
||
|
package ptr
|
||
|
|
||
|
import "strings"
|
||
|
|
||
|
func Bool(v bool) *bool {
|
||
|
return &v
|
||
|
}
|
||
|
|
||
|
func GetBool(v *bool) bool {
|
||
|
if v == nil {
|
||
|
return false
|
||
|
}
|
||
|
return *v
|
||
|
}
|
||
|
|
||
|
func Str(v string) *string {
|
||
|
return &v
|
||
|
}
|
||
|
|
||
|
func NumStr(v *string) string {
|
||
|
if v == nil {
|
||
|
return ""
|
||
|
}
|
||
|
return *v
|
||
|
}
|
||
|
|
||
|
func StrTrim(v *string) *string {
|
||
|
if v == nil {
|
||
|
return nil
|
||
|
}
|
||
|
|
||
|
*v = strings.TrimSpace(*v)
|
||
|
return v
|
||
|
}
|
||
|
|
||
|
type N interface {
|
||
|
uint8 | int8 | uint16 | int16 | uint | int | uint32 | int32 | uint64 | int64 | float32 | float64
|
||
|
}
|
||
|
|
||
|
func Number[T N](v T) *T {
|
||
|
return &v
|
||
|
}
|
||
|
|
||
|
func GetNumber[T N](v *T) T {
|
||
|
if v == nil {
|
||
|
return 0
|
||
|
}
|
||
|
return *v
|
||
|
}
|