Sobes.tech
Junior — Middle

Aký je rozdiel medzi deklaráciou prázdneho rozhrania a aliasom typu v programovacích jazykoch?

sobes.tech AI

Odpoveď od AI

V jazyku Go je prázdne rozhranie (interface{}) typ, ktorý môže obsahovať hodnotu akéhokoľvek typu, pretože všetky typy implementujú prázdne rozhranie. Používa sa na ukladanie dát neznámeho typu.

Alias typu (type Alias = OriginalType) je jednoducho iné meno pre existujúci typ, nevytvára nový typ, ale umožňuje používať pohodlnejšie alebo zrozumiteľnejšie meno.

Hlavné rozdiely:

  • Prázdne rozhranie je univerzálny kontajner pre akékoľvek hodnoty.
  • Alias typu je synonymum existujúceho typu, nemení správanie.

Príklad:

var x interface{} = 42 // x môže byť akéhokoľvek typu

type MyInt = int // MyInt je alias pre int
var y MyInt = 10