В чем разница между gofmt и go fmt? - PullRequest
0 голосов
/ 24 марта 2019

Я вижу, что есть и gofmt, и go fmt.В чем разница между gofmt и go fmt?

Ответы [ 2 ]

3 голосов
/ 24 марта 2019

Запустите 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
2 голосов
/ 24 марта 2019

Команда gofmt обработает файлы, заданные в качестве аргументов. Инструмент go fmt запускает gofmt для всех файлов в путях пакета, указанных в качестве аргументов. Таким образом, если я нахожусь в каталоге encoding / gob,

gofmt decode.go

отформатирует отдельный файл decode.go, а инструмент запускает

иди фмт.

(на самом деле..) Отформатирует все файлы в пакете encoding / gob.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...