[解決済み] "宣言されているが使用されていない "という迷惑なエラーを回避する方法
2022-03-16 03:18:32
質問
Goを勉強しているのですが、コンパイル時に変数やパッケージを未使用のままにしてはいけないというのが少し面倒に感じています。
これは本当に私の足を引っ張ります。例えば、新しいパッケージを宣言して、後でそれを使おうと思ったり、テストのためにコマンドをアンコメントしたりしたいだけです。私はいつもエラーになり、これらの使用のすべてをコメントしに行く必要があります。
Goでこのようなチェックを回避する方法はないのでしょうか?
どのように解決するのですか?
このエラーは、より良いコードを書くこと、そして宣言したりインポートしたりしたものはすべて必ず使用することを強制するためにあります。そうすれば、他の人が書いたコードを読むのも楽になるし(宣言した変数がすべて使われることが常に確認できる)、デッドコードの可能性も避けられる。
しかし、どうしてもこのエラーを飛ばしたいのであれば
空白の識別子
(
_
) :
package main
import (
"fmt" // imported and not used: "fmt"
)
func main() {
i := 1 // i declared and not used
}
になる
package main
import (
_ "fmt" // no more error
)
func main() {
i := 1 // no more error
_ = i
}
下のコメントでkostixさんがおっしゃっているように、Goチームの公式見解が掲載されています。 FAQに掲載されています。 :
未使用の変数があるとバグがある可能性がありますが、未使用のインポートはコンパイルに時間がかかるだけです。コードツリーに未使用のインポートを十分に蓄積すると、物事が非常に遅くなることがあります。これらの理由から、Goはどちらも許しません。
関連
-
[解決済み] ParseFormはいつ使うべきで、FormValueとPostFormValueはいつ使うべきですか?
-
[解決済み] 文字列の先頭と末尾のホワイトスペースを削除するにはどうすればよいですか?
-
[解決済み] panic: ランタイムエラー:Goのインデックスが範囲外
-
golang インストールプロンプト:ダイヤル tcp 216.58.200.241:443: connectex: 接続の試行に失敗しました。
-
[解決済み] go getとgo installの違いは何ですか?
-
[解決済み] インポートサイクル不可
-
[解決済み] go get を使って特定のバージョンのパッケージをインポートするにはどうすればよいですか?
-
[解決済み] Golangで定数mapを宣言するには?
-
[解決済み] Goの:=と=の演算子の違い
-
[解決済み] コンソールで標準入力から読み込むにはどうすればよいですか?
最新
-
nginxです。[emerg] 0.0.0.0:80 への bind() に失敗しました (98: アドレスは既に使用中です)
-
htmlページでギリシャ文字を使うには
-
ピュアhtml+cssでの要素読み込み効果
-
純粋なhtml + cssで五輪を実現するサンプルコード
-
ナビゲーションバー・ドロップダウンメニューのHTML+CSSサンプルコード
-
タイピング効果を実現するピュアhtml+css
-
htmlの選択ボックスのプレースホルダー作成に関する質問
-
html css3 伸縮しない 画像表示効果
-
トップナビゲーションバーメニュー作成用HTML+CSS
-
html+css 実装 サイバーパンク風ボタン
おすすめ
-
[解決済み] Go: パニック: ランタイム エラー: 無効なメモリ アドレスまたは nil ポインタのデリファレンス
-
[解決済み] golang の "go get" コマンドで "go: missing Git command" というエラーが表示される。
-
golang インストールプロンプト:ダイヤル tcp 216.58.200.241:443: connectex: 接続の試行に失敗しました。
-
[解決済み] Goテスト文字列が部分文字列を含む
-
[解決済み] Goでfloat64をintに変換する
-
[解決済み] gofmtの使い方を教えてください。
-
[解決済み] Goで2つのスライスを連結する
-
[解決済み】ルーンとは何ですか?
-
[解決済み】Goでディレクトリを一覧表示する
-
[解決済み】Goはサードパーティ・パッケージをどのようにアップデートしますか?