Junior — Middle
Mohl byste vysvětlit, co se rozumí pod pojmem typ v programování?
sobes.tech AI
Odpověď od AI
Tvrzení typu (type assertion) v programování, zejména v Go, je způsob, jak získat hodnotu konkrétního typu z rozhraníového typu.
V Go mohou proměnné rozhraníového typu obsahovat hodnoty jakéhokoliv typu a tvrzení typu umožňuje ověřit a extrahovat konkrétní typ z rozhraní.
Příklad:
var i interface{} = "ahoj"
s, ok := i.(string) // s bude "ahoj", ok — true
if ok {
fmt.Println(s) // vypíše: ahoj
} else {
fmt.Println("i neobsahuje string")
}
Pokud tvrzení typu selže a není použit druhý parametr ok, dojde k panice. Proto se často používá forma se dvěma návratovými hodnotami pro bezpečnou kontrolu.