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

сделал GetStructValue()

This commit is contained in:
Nikitin Aleksandr
2025-06-23 17:14:53 +03:00
parent dbf1bb3a38
commit c54e857896
2 changed files with 36 additions and 0 deletions

View File

@@ -1884,3 +1884,25 @@ func Find_Tag_JSON(Struct1 any, FieldName string) (string, error) {
return Otvet, err
}
// GetStructValue - возвращает значение 1 поля структуры по его имени
func GetStructValue(Struct1 any, FieldName string) (any, error) {
// Проверяем, что переданный аргумент является структурой
val := reflect.ValueOf(Struct1)
if val.Kind() == reflect.Ptr {
val = val.Elem()
}
if val.Kind() != reflect.Struct {
return nil, errors.New("переданный аргумент не является структурой")
}
// Получаем поле структуры по имени
field := val.FieldByName(FieldName)
if !field.IsValid() {
return nil, errors.New("поле не найдено")
}
// Возвращаем значение поля как interface{}
return field.Interface(), nil
}