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 изисква явна индикация и работи само за съвместими типове.