Sobes.tech
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.