Junior — Middle
Lze v jazyce Go provádět přetypování mezi různými datovými typy?
sobes.tech AI
Odpověď od AI
V jazyce Go je možné provádět přetypování, ale je přísné a bezpečné. Přetypování je možné mezi kompatibilními typy, například mezi číselnými typy (int, float64 atd.) nebo mezi typy se stejnou strukturou (například vlastní typy založené na základních typech). Není možné jednoduše převést například řetězec na číslo bez explicitního přetypování.
Příklad přetypování číselných typů:
var a int = 42
var b float64 = float64(a) // explicitní přetypování z int na float64
Také je možné převádět rozhraní na konkrétní typ pomocí assertion:
var i interface{} = "ahoj"
str, ok := i.(string)
if ok {
fmt.Println(str)
}
Tímto způsobem vyžaduje přetypování v Go explicitní označení a funguje pouze pro kompatibilní typy.