Junior — Middle
Ar turite patirties naudodami refleksiją savo projektuose?
sobes.tech AI
Atsakymas iš AI
Refleksija Go leidžia programai tyrinėti ir keisti savo struktūrą vykdymo metu. Tai naudinga, kai reikia dirbti su duomenų tipais dinamiškai, pavyzdžiui, serializacijos, deserializacijos ar rašant bendras funkcijas.
Pavyzdys, kaip naudoti refleksiją norint gauti kintamojo tipą ir reikšmę:
package main
import (
"fmt"
"reflect"
)
func main() {
var x float64 = 3.4
v := reflect.ValueOf(x)
t := reflect.TypeOf(x)
fmt.Println("Tipas:", t)
fmt.Println("Reikšmė:", v)
}
Refleksija yra galinga, bet ją reikia naudoti atsargiai, nes ji gali sudėtinginti kodą ir sumažinti našumą.