Junior — Middle
Имали ли сте опит с използването на рефлексия в проектите си?
sobes.tech AI
Отговор от AI
Рефлексията в Go позволява на програма да изследва и променя собствената си структура по време на изпълнение. Това е полезно, когато трябва да работите с типове данни динамично, например при сериализация, десериализация или при писане на универсални функции.
Пример за използване на рефлексия за получаване на типа и стойността на променлива:
package main
import (
"fmt"
"reflect"
)
func main() {
var x float64 = 3.4
v := reflect.ValueOf(x)
t := reflect.TypeOf(x)
fmt.Println("Тип:", t)
fmt.Println("Стойност:", v)
}
Рефлексията е мощна, но трябва да се използва с внимание, тъй като може да усложни кода и да намали производителността.