Junior — Middle
Este posibil să se efectueze conversii de tip între diferite tipuri de date în limbajul Go?
sobes.tech AI
Răspuns de la AI
În limbajul Go, se pot realiza conversii de tipuri, dar acestea sunt stricte și sigure. Conversia este posibilă între tipuri compatibile, de exemplu, între tipuri numerice (int, float64 etc.) sau între tipuri cu aceeași structură (de exemplu, tipuri personalizate bazate pe tipuri de bază). Nu se poate converti pur și simplu, de exemplu, un șir de caractere într-un număr fără o conversie explicită.
Exemplu de conversie a tipurilor numerice:
var a int = 42
var b float64 = float64(a) // conversie explicită de la int la float64
De asemenea, se pot converti interfețele în tipuri specifice prin aserțiune de tip:
var i interface{} = "salut"
str, ok := i.(string)
if ok {
fmt.Println(str)
}
Astfel, conversia de tipuri în Go necesită o indicație explicită și funcționează doar pentru tipuri compatibile.