Могу ли я прекратить эти жалобы по поводу моей неиспользованной переменной / импорта?
Наличие неиспользуемой переменной может указывать на ошибку, в то время как неиспользуемый импорт только замедляет компиляцию. Накопите достаточно неиспользованных импортов в вашем дереве кода, и все может стать очень медленным. По этим причинам Go не позволяет ни того, ни другого.
При разработке кода обычно временно создают такие ситуации, и может быть неприятно, что их нужно редактировать до компиляции программы.
Некоторые просили опцию компилятора, чтобы отключить эти проверки или, по крайней мере, уменьшить их до предупреждений. Однако такой параметр не был добавлен, поскольку параметры компилятора не должны влиять на семантику языка и поскольку компилятор Go не выдает предупреждения, а только ошибки, которые мешают компиляции.
Есть две причины отсутствия предупреждений. Во-первых, если стоит пожаловаться, стоит исправить в коде. (И если это не стоит исправлять, упоминать не стоит.) Во-вторых, компилятор генерирует предупреждения, побуждающие реализацию предупреждать о слабых случаях, которые могут создавать компиляцию, и маскировать реальные ошибки, которые должны быть исправлены.
Впрочем, разобраться с ситуацией легко. Используйте пустой идентификатор, чтобы неиспользованные вещи сохранялись во время разработки.
import "unused"
// This declaration marks the import as used by referencing an
// item from the package.
var _ = unused.Item // TODO: Delete before committing!
func main() {
debugData := debug.Profile()
_ = debugData // Used only during debugging.
....
}