Sobes.tech
Junior — Middle

Kas teil on kogemusi refleksiooni kasutamisel oma projektides?

sobes.tech AI

Vastus AI-lt

Refleksioon Go-s võimaldab programmil uurida ja muuta oma struktuuri jooksvalt. See on kasulik, kui on vaja töötada andmetüüpidega dünaamiliselt, näiteks serialiseerimisel, deserialiseerimisel või universaalsete funktsioonide kirjutamisel.

Näide refleksiooni kasutamisest, et saada muutuja tüüp ja väärtus:

package main

import (
    "fmt"
    "reflect"
)

func main() {
    var x float64 = 3.4
    v := reflect.ValueOf(x)
    t := reflect.TypeOf(x)
    fmt.Println("Tüüp:", t)
    fmt.Println("Väärtus:", v)
}

Refleksioon on võimas, kuid seda tuleks kasutada ettevaatusega, kuna see võib keeruliseks muuta koodi ja vähendada jõudlust.