Sobes.tech
Junior — Middle

Jakou funkci plní operátor `*` v jazyce Go, zejména ve vztahu k ukazatelům?

sobes.tech AI

Odpověď od AI

V jazyce Go se operátor * používá k práci s ukazateli a plní dvě hlavní funkce:

  1. Derefence ukazatele — získání hodnoty, na kterou ukazatel ukazuje.

  2. Deklarace ukazatele — při deklaraci proměnné s * se uvádí, že se jedná o ukazatel na typ.

Příklad:

var a int = 10
var p *int = &a  // p je ukazatel na a
fmt.Println(*p)   // vypíše 10 — hodnotu, na kterou ukazuje p

*p = 20           // mění hodnotu a přes ukazatel
fmt.Println(a)    // vypíše 20

Tímto způsobem * umožňuje pracovat s adresami a hodnotami v paměti, zajišťuje nízkoúrovňovou kontrolu nad daty.