Junior — Middle
Може ли се вршити претпрема типова између различитих типова података у језику Go?
sobes.tech АИ
Одговор од АИ
U jeziku Go, moguće je izvršiti konverziju tipova, ali je ona stroga i sigurna. Konverzija je moguća između kompatibilnih tipova, na primer, između numeričkih tipova (int, float64 itd.) ili između tipova sa istom strukturom (na primer, prilagođeni tipovi zasnovani na osnovnim tipovima). Ne može se jednostavno, na primer, pretvoriti string u broj bez eksplicitne konverzije.
Primer konverzije numeričkih tipova:
var a int = 42
var b float64 = float64(a) // eksplicitna konverzija iz int u float64
Takođe, moguće je konvertovati interfejse u specifične tipove putem assertion-a tipa:
var i interface{} = "zdravo"
str, ok := i.(string)
if ok {
fmt.Println(str)
}
Na ovaj način, konverzija tipova u Go zahteva eksplicitno navođenje i funkcioniše samo za kompatibilne tipove.