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