Почему факторизованный оператор импорта лучше?

Официальная экскурсия по Го, после экспонирования факторизованного импорта, подобного этому...

import (
    "fmt"
    "math"
)

... содержит следующее несколько нечеткое замечание:

Вы также можете написать несколько операторов импорта, например:

import "fmt"
import "math"

Но это хороший стиль для использования факторизованного оператора импорта.

Существует ли какое-либо конкретное преимущество для использования одного подхода над другим - например, разница в поведении или простая в использовании опечатка, которая представляет собой только опасность с одним из двух синтаксисов - или это просто произвольный стиль конвенции?

Ответ 1

Нет никакой разницы, кроме количества набираемых текстов. Программа или пакет хорошего размера может легко содержать дюжину или более импортированных пакетов, так что зачем вводить одно и то же слово (import) снова и снова, когда вы можете добиться того же самого с помощью пары().

Хотя большинство людей в любом случае, вероятно, используют GoImports.

Ответ 2

Для компилятора go нет никакой разницы. Разница заключается только в том, что для программиста Go Go, сколько раз ему приходится копировать/вводить импорт. Вы можете смотреть на него так же, как:

func f1(n1, n2, n3 int){
    ...
}

против

func f1(n1 int, n2 int, n3 int){
    ...
}

или var n1, n2, n3 int vs

var n1 int
var n2 int
var n3 int

оба будут давать одинаковый результат.