Мой первый goto был на сишке, когда я реализовывал какую-то фигню из K&R
На паскале нас в школе не научили goto (хотя он там точное есть), спасибо Дейкстре за это.
Но больше мне по нраву было использование особого, расширенного goto http://gcc.gnu.org/onlinedocs/gcc/Labels-as-Values.html , который GNU C extension в GCC (в clang тоже есть) : http://govnokod.ru/13512
Я там тернарной операцией с двоичным сдвигом заменил if
@j123123 не с двоичным сдвигом (туплю просто). Просто тернарной операцией и переходом по метке. Но там и трюки с двоичными сдвигами в комментах к коду есть