1
0
mirror of https://github.com/ManyakRus/starter.git synced 2025-11-27 23:18:34 +02:00

сделал String_DefaultNil()

This commit is contained in:
Nikitin Aleksandr
2025-07-03 16:45:53 +03:00
parent b422d9938c
commit f82f339b65
2 changed files with 349 additions and 0 deletions

View File

@@ -1906,3 +1906,129 @@ func GetStructValue(Struct1 any, FieldName string) (any, error) {
// Возвращаем значение поля как interface{}
return field.Interface(), nil
}
// String_DefaultNil - возвращает *string, если пустая строка то nil
func String_DefaultNil(Value string) *string {
var Otvet *string
if Value != "" {
Otvet = &Value
}
return Otvet
}
// Int64_DefaultNil - возвращает *int64, если пустая строка то nil
func Int64_DefaultNil(Value int64) *int64 {
var Otvet *int64
if Value != 0 {
Otvet = &Value
}
return Otvet
}
// Int_DefaultNil - возвращает *int, если значение 0 - возвращает nil
func Int_DefaultNil(Value int) *int {
if Value == 0 {
return nil
}
return &Value
}
// Int8_DefaultNil - возвращает *int8, если значение 0 - возвращает nil
func Int8_DefaultNil(Value int8) *int8 {
if Value == 0 {
return nil
}
return &Value
}
// Int16_DefaultNil - возвращает *int16, если значение 0 - возвращает nil
func Int16_DefaultNil(Value int16) *int16 {
if Value == 0 {
return nil
}
return &Value
}
// Int32_DefaultNil - возвращает *int32, если значение 0 - возвращает nil
func Int32_DefaultNil(Value int32) *int32 {
if Value == 0 {
return nil
}
return &Value
}
// Uint_DefaultNil - возвращает *uint, если значение 0 - возвращает nil
func Uint_DefaultNil(Value uint) *uint {
if Value == 0 {
return nil
}
return &Value
}
// Uint8_DefaultNil - возвращает *uint8, если значение 0 - возвращает nil
func Uint8_DefaultNil(Value uint8) *uint8 {
if Value == 0 {
return nil
}
return &Value
}
// Uint16_DefaultNil - возвращает *uint16, если значение 0 - возвращает nil
func Uint16_DefaultNil(Value uint16) *uint16 {
if Value == 0 {
return nil
}
return &Value
}
// Uint32_DefaultNil - возвращает *uint32, если значение 0 - возвращает nil
func Uint32_DefaultNil(Value uint32) *uint32 {
if Value == 0 {
return nil
}
return &Value
}
// Uint64_DefaultNil - возвращает *uint64, если значение 0 - возвращает nil
func Uint64_DefaultNil(Value uint64) *uint64 {
if Value == 0 {
return nil
}
return &Value
}
// Float32_DefaultNil - возвращает *float32, если значение 0 - возвращает nil
func Float32_DefaultNil(Value float32) *float32 {
if Value == 0 {
return nil
}
return &Value
}
// Float64_DefaultNil - возвращает *float64, если значение 0 - возвращает nil
func Float64_DefaultNil(Value float64) *float64 {
if Value == 0 {
return nil
}
return &Value
}
// Bool_DefaultNil - возвращает *bool, если значение false - возвращает nil
func Bool_DefaultNil(Value bool) *bool {
if !Value {
return nil
}
return &Value
}
// Time_DefaultNil - возвращает *time.Time, если значение IsZero() - возвращает nil
func Time_DefaultNil(Value time.Time) *time.Time {
if Value.IsZero() {
return nil
}
return &Value
}

View File

@@ -1601,3 +1601,226 @@ func TestGetStructValue(t *testing.T) {
t.Errorf("Expected 'test', but got %s", Otvet)
}
}
func TestString_DefaultNil(t *testing.T) {
Otvet := String_DefaultNil("")
if Otvet != nil {
t.Errorf("Expected nil, but got %s", *Otvet)
}
Otvet = String_DefaultNil("test")
if Otvet == nil {
t.Errorf("Expected not nil, but got nil")
}
}
func TestInt_DefaultNil(t *testing.T) {
Otvet := Int_DefaultNil(0)
if Otvet != nil {
t.Errorf("Expected nil, but got %d", *Otvet)
}
Otvet = Int_DefaultNil(42)
if Otvet == nil {
t.Errorf("Expected not nil, but got nil")
}
if *Otvet != 42 {
t.Errorf("Expected 42, but got %d", *Otvet)
}
}
func TestInt8_DefaultNil(t *testing.T) {
Otvet := Int8_DefaultNil(0)
if Otvet != nil {
t.Errorf("Expected nil, but got %d", *Otvet)
}
Otvet = Int8_DefaultNil(42)
if Otvet == nil {
t.Errorf("Expected not nil, but got nil")
}
if *Otvet != 42 {
t.Errorf("Expected 42, but got %d", *Otvet)
}
}
func TestInt16_DefaultNil(t *testing.T) {
Otvet := Int16_DefaultNil(0)
if Otvet != nil {
t.Errorf("Expected nil, but got %d", *Otvet)
}
Otvet = Int16_DefaultNil(42)
if Otvet == nil {
t.Errorf("Expected not nil, but got nil")
}
if *Otvet != 42 {
t.Errorf("Expected 42, but got %d", *Otvet)
}
}
func TestInt32_DefaultNil(t *testing.T) {
Otvet := Int32_DefaultNil(0)
if Otvet != nil {
t.Errorf("Expected nil, but got %d", *Otvet)
}
Otvet = Int32_DefaultNil(42)
if Otvet == nil {
t.Errorf("Expected not nil, but got nil")
}
if *Otvet != 42 {
t.Errorf("Expected 42, but got %d", *Otvet)
}
}
func TestInt64_DefaultNil(t *testing.T) {
Otvet := Int64_DefaultNil(0)
if Otvet != nil {
t.Errorf("Expected nil, but got %d", *Otvet)
}
Otvet = Int64_DefaultNil(42)
if Otvet == nil {
t.Errorf("Expected not nil, but got nil")
}
if *Otvet != 42 {
t.Errorf("Expected 42, but got %d", *Otvet)
}
}
func TestUint_DefaultNil(t *testing.T) {
Otvet := Uint_DefaultNil(0)
if Otvet != nil {
t.Errorf("Expected nil, but got %d", *Otvet)
}
Otvet = Uint_DefaultNil(42)
if Otvet == nil {
t.Errorf("Expected not nil, but got nil")
}
if *Otvet != 42 {
t.Errorf("Expected 42, but got %d", *Otvet)
}
}
func TestUint8_DefaultNil(t *testing.T) {
Otvet := Uint8_DefaultNil(0)
if Otvet != nil {
t.Errorf("Expected nil, but got %d", *Otvet)
}
Otvet = Uint8_DefaultNil(42)
if Otvet == nil {
t.Errorf("Expected not nil, but got nil")
}
if *Otvet != 42 {
t.Errorf("Expected 42, but got %d", *Otvet)
}
}
func TestUint16_DefaultNil(t *testing.T) {
Otvet := Uint16_DefaultNil(0)
if Otvet != nil {
t.Errorf("Expected nil, but got %d", *Otvet)
}
Otvet = Uint16_DefaultNil(42)
if Otvet == nil {
t.Errorf("Expected not nil, but got nil")
}
if *Otvet != 42 {
t.Errorf("Expected 42, but got %d", *Otvet)
}
}
func TestUint32_DefaultNil(t *testing.T) {
Otvet := Uint32_DefaultNil(0)
if Otvet != nil {
t.Errorf("Expected nil, but got %d", *Otvet)
}
Otvet = Uint32_DefaultNil(42)
if Otvet == nil {
t.Errorf("Expected not nil, but got nil")
}
if *Otvet != 42 {
t.Errorf("Expected 42, but got %d", *Otvet)
}
}
func TestUint64_DefaultNil(t *testing.T) {
Otvet := Uint64_DefaultNil(0)
if Otvet != nil {
t.Errorf("Expected nil, but got %d", *Otvet)
}
Otvet = Uint64_DefaultNil(42)
if Otvet == nil {
t.Errorf("Expected not nil, but got nil")
}
if *Otvet != 42 {
t.Errorf("Expected 42, but got %d", *Otvet)
}
}
func TestFloat32_DefaultNil(t *testing.T) {
Otvet := Float32_DefaultNil(0)
if Otvet != nil {
t.Errorf("Expected nil, but got %f", *Otvet)
}
Otvet = Float32_DefaultNil(42.5)
if Otvet == nil {
t.Errorf("Expected not nil, but got nil")
}
if *Otvet != 42.5 {
t.Errorf("Expected 42.5, but got %f", *Otvet)
}
}
func TestFloat64_DefaultNil(t *testing.T) {
Otvet := Float64_DefaultNil(0)
if Otvet != nil {
t.Errorf("Expected nil, but got %f", *Otvet)
}
Otvet = Float64_DefaultNil(42.5)
if Otvet == nil {
t.Errorf("Expected not nil, but got nil")
}
if *Otvet != 42.5 {
t.Errorf("Expected 42.5, but got %f", *Otvet)
}
}
func TestBool_DefaultNil(t *testing.T) {
Otvet := Bool_DefaultNil(false)
if Otvet != nil {
t.Errorf("Expected nil, but got %t", *Otvet)
}
Otvet = Bool_DefaultNil(true)
if Otvet == nil {
t.Errorf("Expected not nil, but got nil")
}
if *Otvet != true {
t.Errorf("Expected true, but got %t", *Otvet)
}
}
func TestTime_DefaultNil(t *testing.T) {
Otvet := Time_DefaultNil(time.Time{})
if Otvet != nil {
t.Errorf("Expected nil, but got %v", *Otvet)
}
now := time.Now()
Otvet = Time_DefaultNil(now)
if Otvet == nil {
t.Errorf("Expected not nil, but got nil")
}
if !Otvet.Equal(now) {
t.Errorf("Expected %v, but got %v", now, *Otvet)
}
}