Запустите go help fmt
, чтобы увидеть разницу. Короче говоря, go fmt
запускает gofmt -l -w
для пакетов, указанных аргументами.
Флаг -w
записывает результат обратно в исходный файл. Флаг -l
выводит имя измененных файлов.
Аргументы для go fmt
являются пакетами (для описания запустите go help packages
). Аргументы gofmt
являются путями файловой системы.
Вот несколько примеров, показывающих, как аргументы обрабатываются по-разному:
gofmt -w . # formats files in current directory and all sub-directories
go fmt ./... # similar to previous
go fmt . # formats files in current package
gofmt -w foo/bar # formats files in directory $PWD/foo/bar and sub-dirs
go fmt foo/bar # formats files in directory $GOPATH/src/foo/bar
gofmt -w # error, no file or directory specified
go fmt # formats files in current package