basic common app packages
This commit is contained in:
52
ptr/ptr.go
Normal file
52
ptr/ptr.go
Normal file
@@ -0,0 +1,52 @@
|
||||
// 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
|
||||
}
|
Reference in New Issue
Block a user