Junior — Middle
Ar įmanoma atlikti tipų konversiją tarp skirtingų duomenų tipų Go kalboje?
sobes.tech AI
Atsakymas iš AI
Go kalboje tipų konvertavimas yra įmanomas, tačiau jis yra griežtas ir saugus. Konvertavimas yra įmanomas tarp suderinamų tipų, pavyzdžiui, tarp skaitinių tipų (int, float64 ir kt.) arba tarp tipų su ta pačia struktūra (pavyzdžiui, pagrindinių tipų pagrindu sukurti naudotojo tipai). Pavyzdžiui, eilutės konvertavimas į skaičių be aiškios konversijos nėra įmanomas.
Skaitinių tipų konvertavimo pavyzdys:
var a int = 42
var b float64 = float64(a) // aiški konversija iš int į float64
Taip pat, interfeisus galima konvertuoti į konkrečius tipus naudojant type assertion:
var i interface{} = "labas"
str, ok := i.(string)
if ok {
fmt.Println(str)
}
Taigi, Go kalboje tipų konvertavimas reikalauja aiškaus nurodymo ir veikia tik suderinamų tipų atvejais.