Потому что структура файлов в гошке не определена, и определить ее нельзя.
go get идет в репу и ищет пакет. Он находит там файлы с package $PACHAGE_NAME и смотрит их импорты, проходится по зависимостям, собирает их, собирает твой пакет и если он - package main, то выдает бинарь в $GOPATH/bin