I have a project currently organized something like this:
~/code/go
/bin
/pkg
/src
/proj/main.go
/some_packa
find proj -type f -iregex '.*\.go' -exec go fmt '{}' +
find proj: find everything in this directory...
-type f: ...that is a file-iregex '.*\.go': ...and case-insensitively matches the regular expression .*\.gogo fmt followed by as many matched files as the operating system can handle passing to an executable in one go.