Відповідно до FAQ :
Деякі запитували варіант компілятора, щоб відключити ці чеки або принаймні зменшити їх до попереджень. Такий варіант не був доданий, оскільки параметри компілятора не повинні впливати на семантику мови та через те, що компілятор Go не повідомляє про попередження, а лише про помилки, які перешкоджають компіляції.
Існує дві причини відсутність попереджень. По-перше, якщо варто поскаржитися, варто зафіксувати в коді. (І якщо це не варто виправляти, це не варто згадувати.) По-друге, компілятор генерує попередження заохочує впровадження попереджати про слабкі випадки, які можуть зробити компіляцію галасливою, маскуючи реальні помилки, які слід виправити.
Я не обов'язково погоджуюся з цим з різних причин, не варто вникати. Це те, що є, і це, швидше за все, не зміниться найближчим часом.
Для пакетів є goimports
інструмент, який автоматично додає відсутні пакети та видаляє невикористані. Наприклад:
# Install it
$ go get golang.org/x/tools/cmd/goimports
# -w to write the source file instead of stdout
$ goimports -w my_file.go
Ви повинні мати змогу запустити це з будь-якого напівповажного пристойного редактора - наприклад для Vim:
:!goimports -w %
На goimports
сторінці перераховані деякі команди для інших редакторів, і ви зазвичай встановлюєте, що вона автоматично запускається під час збереження буфера на диску.
Зверніть увагу, що goimports
також буде працювати gofmt
.
Як вже було сказано, для змінних найпростіший спосіб - це (тимчасово) призначити їх _
:
// No errors
tasty := "ice cream"
horrible := "marmite"
// Commented out for debugging
//eat(tasty, horrible)
_, _ = tasty, horrible