Первая опция показывает, как использовать пакет fmt, что предоставляет функции Scan, Scanf и Scanln. Функция Scanf читает ввод и сохраняет его в переменную (или переменные). Преимущество Scanf в том, что вы можете определить формат сканируемого значения. Функция Scan только читает ввод и сохраняет его в переменную (без предварительного форматирования), а Scanln, как можно понять по названию, читает ввод, что заканчивается обрыванием строки \n.
Scanner, из второго примера, предоставляет удобный способ для сканирования более крупного ввода. Scanner содержит функцию Split, через которую можно определить настраиваемую функцию разделения строки. К примеру, для сканирования слов из stdin вы можете использовать bufio.ScanWords и предварительно определенный SplitFunc.