症状
构建失败并报 declared and not used、assigned but never used 或未使用的导入,而编辑器可能只是警告。Go 刻意把这些设为编译错误:未检查的 error 值是常见缺陷,因此编译器不允许声明或导入闲置。修复方式是使用它、处理它或显式丢弃它。
诊断
读取未使用的标识符;对有意忽略的值用空白标识符;用 goimports 修正导入。
go build ./...
根因
Go 把未使用的局部变量与导入视为编译错误,以防止死代码与遗漏的错误处理,因此从未使用的声明或导入会中断构建。
修复
删除真正未使用的声明与导入;对有意丢弃的值使用空白标识符,尤其是决定不向上传播的 error。把未使用的 error 变量视为需要决定如何处理,而非静默之。
验证
重新构建并跑测试确认不再有未使用错误,并确认删除声明未丢失必要行为。构建干净且行为不变即证明清理安全。
常见陷阱
用 _ = x 掩盖本应处理的 error 会丢弃错误信息;应判断是否真的可以忽略。