Sobes.tech
Junior — Middle

Може ли да се извършва преобразуване на типове между различни типове данни в езика Go?

sobes.tech AI

Отговор от AI

В езика Go може да се извършва преобразуване на типове, но то е строго и безопасно. Преобразуването е възможно между съвместими типове, например между числови типове (int, float64 и т.н.) или между типове с еднаква структура (например, потребителски типове, базирани на основни типове). Не може просто така да преобразувате, например, низ към число без явна конверсия.

Пример за преобразуване на числови типове:

var a int = 42
var b float64 = float64(a) // явна конверсия от int към float64

Също така, може да преобразувате интерфейси към конкретни типове чрез assertion:

var i interface{} = "здравей"
str, ok := i.(string)
if ok {
    fmt.Println(str)
}

Така, преобразуването на типове в Go изисква явна индикация и работи само за съвместими типове.