Sobes.tech
Senior

Milyen típusátalakítási lehetőség esetén fordulhat pánik, és melyik szerkezet teszi lehetővé ennek elkerülését?

sobes.tech MI

Válasz az MI-től

Típusállítás (type assertion) során pánik léphet fel, ha a valódi érték típusa nem egyezik a várt típussal. Például:

var i interface{} = "szöveg"
// Az int-re való kísérlet pánikot okoz
n := i.(int) // pánik: interfész konverzió: interface {} string, nem int

A pánik elkerülése érdekében két értéket visszaadó konstrukciót használunk — a második mutatja, sikerült-e a konverzió:

n, ok := i.(int)
if !ok {
    // konverziós hiba kezelése
}

Így a biztonságos típusállítás elkerüli a pánikot, és helyesen kezeli a helyzetet, amikor a típusok nem egyeznek.