[解決済み] Goのnil検出
2022-04-25 16:22:03
質問
Goでは、このようにnilを検出するコードを多く見かけます。
if err != nil {
// handle the error
}
が、このような構造体になっています。
type Config struct {
host string
port float64
}
とすると、configはConfigのインスタンスになりますね。
if config == nil {
}
というコンパイルエラーが発生します。 nil を Config 型に変換できません。
どうすればいいですか?
コンパイラがエラーを指摘しているのは、構造体インスタンスとnilを比較しているところです。構造体のインスタンスとnilを比較しているのですが、両者は同じ型ではないので、無効な比較とみなされ、怒鳴られています。
ここでやりたいことは、configインスタンスへのポインタとnilを比較することであり、これは有効な比較です。これを行うには、golangの 新しい へのポインタを初期化します。
config := new(Config) // not nil
または
config := &Config{
host: "myhost.com",
port: 22,
} // not nil
または
var config *Config // nil
そうすると
if config == nil {
// then
}
関連
-
[解決済み] Goで構造体のフィールドを反復処理する
-
go build error, error can't load package: package xxx is not in GOROOT (D:\basic_tool╱GoGoSrc╱)
-
Solve golang compile prompt dial tcp 172.217.160.113:443: connectex: 接続の試行に失敗しました
-
[解決済み] go getとgo installの違いは何ですか?
-
[解決済み] インポートサイクル不可
-
[解決済み] golangでnilはどういう意味ですか?
-
[解決済み] golangでリーズナブルなスタック実装をお探しですか?
-
[解決済み】MySQL:カラムがNULLの場合の行の選択
-
[解決済み】GoはREPLを提供しますか?
-
[解決済み】インターフェースのスライスを変換するタイプ
最新
-
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をアンインストールする方法を教えてください。
-
[解決済み] 構造体のマップのデフォルト値は何ですか?
-
[解決済み] Go パッケージは log.Fatal を使うべきですか、そしてそれはいつですか?
-
[解決済み] パッケージ <package_name> を提供するモジュールの go.sum のエントリがありません。
-
[解決済み] コンソールで標準入力から読み込むにはどうすればよいですか?
-
[解決済み] スライスのメソッドを含む
-
[解決済み】init()関数はいつ実行されるのですか?
-
[解決済み】Goで設定を処理する方法【終了しました
-
[解決済み】現在実行中のファイルのディレクトリを取得するには?
-
[解決済み】複数ファイルのGoプロジェクトを整理する【クローズド