Sobes.tech
Junior — Middle

Kas on võimalik teha tüübi konversiooni erinevate andmetüüpide vahel Go keeles?

sobes.tech AI

Vastus AI-lt

Go keeles saab tüüpe teisendada, kuid see on range ja turvaline. Teisendamine on võimalik sobivate tüüpide vahel, näiteks numbriliste tüüpide (int, float64 jne) või sama struktuuriga tüüpide vahel (näiteks põhiliikidele põhinevad kohandatud tüübid). Näiteks stringi teisendamine numbriks ilma selge teisenduseta ei ole võimalik.

Numbriliste tüüpide teisendamise näide:

var a int = 42
var b float64 = float64(a) // selge teisendus int-st float64-ks

Samuti saab interfeise teisendada konkreetseteks tüüpideks, kasutades type assertion:

var i interface{} = "tere"
str, ok := i.(string)
if ok {
    fmt.Println(str)
}

Seega, Go keeles tüübi teisendamine nõuab selget märkimist ja töötab ainult sobivate tüüpide puhul.