Sobes.tech
Junior — Middle

Magyarázza el a type switch szerkezet működési elvét a Go nyelvben, és miben különbözik a szokásos switch-case-től.

sobes.tech MI

Válasz az MI-től

A Go nyelvben a type switch szerkezetet arra használják, hogy futás közben meghatározzák egy interfész értékének konkrét típusát. Ez lehetővé teszi, hogy különböző műveleteket hajtsunk végre az adott típus szerint, amelyhez az interfészt megvalósító változó tartozik.

Szintaxis példa:

switch v := x.(type) {
case int:
    fmt.Println("int", v)
case string:
    fmt.Println("string", v)
default:
    fmt.Println("más típus")
}

Itt, x egy interfész típusú változó, és v egy adott típusú változó minden case-ben.

Különbség a szokásos switch-case-től:

  • A szokásos switch összehasonlítja az kifejezés értékét konstansokkal vagy kifejezésekkel.
  • A type switch összehasonlítja a típusát az interfész értékének, nem az értéket magát.

A type switch hasznos interfészekkel való munkában, amikor különböző műveleteket kell végrehajtani az objektum valódi típusától függően, amely az interfészben van tárolva.