Hlavní navigace

Názor ke zprávičce NSA nabádá organizace, aby používaly jazyky, které bezpečně pracují s pamětí od MarSik - V tom se ovšem neshodneme. V Golangu je...

  • Aktualita je stará, nové názory již nelze přidávat.
  • 14. 11. 2022 11:39

    MarSik

    V tom se ovšem neshodneme. V Golangu je to děsný binec, protože nikdy nevíte co Vám v tom error typu přijde.

    A sekvence jako tato zrovna přehledností neoplývají.

    if v, ok := err.(IOError); ok {
     ...
    } else if v, ok := err.(NetworkError); ok {
     ...
    }

    Stejně jako nekonečné

    if err = f(); err != nil {}

    u každého volání. Ten otazník je jen syntaktický cukr, ale strašně to zkracuje kód (jeden řádek místo tří).

    A pak je tu obecný problém Golangu, kde skoro nelze řetězit funkce, protože dvě návratové hodnoty. Opět jen textový problém, ale otravný. I Java začala být s Optional mnohem příjemnější na používání.

    Golang umožňuje prakticky to samé co ostatní jazyky, ale ten neprůhledný a generický error typ nesnáším. Golang kód má tendenci se kvůli němu příliš roztahovat, což není dobré pro čitelnost (funkce se nevlezou na obrazovku a error handling zabírá většinu prostoru).