[解決済み] ネストした構造体を初期化する方法は?
2022-04-24 22:40:56
質問
ネストした構造体を初期化する方法がわかりません。ここに例があります。 http://play.golang.org/p/NL6VXdHrjh
package main
type Configuration struct {
Val string
Proxy struct {
Address string
Port string
}
}
func main() {
c := &Configuration{
Val: "test",
Proxy: {
Address: "addr",
Port: "80",
}
}
}
解決方法は?
さて、Proxyを独自の構造体にしない具体的な理由は何でしょうか?
いずれにせよ、2つの選択肢があります。
正しい方法は、例えばプロキシをそれ自身の構造体に単純に移動することです。
type Configuration struct {
Val string
Proxy Proxy
}
type Proxy struct {
Address string
Port string
}
func main() {
c := &Configuration{
Val: "test",
Proxy: Proxy{
Address: "addr",
Port: "port",
},
}
fmt.Println(c)
fmt.Println(c.Proxy.Address)
}
あまり適切でなく、醜い方法ですが、まだ動作します。
c := &Configuration{
Val: "test",
Proxy: struct {
Address string
Port string
}{
Address: "addr",
Port: "80",
},
}
関連
-
[解決済み] Go: パニック: ランタイム エラー: 無効なメモリ アドレスまたは nil ポインタのデリファレンス
-
[解決済み] Goプロセスをフォークする方法を教えてください。
-
コンパイル: バージョン "" は go ツールのバージョン "" と一致しません。
-
runnerw.exe: CreateProcess はエラー 216 で失敗しました。プロセスが終了し、終了コード 216 が表示された 実行するプロジェクトがこの例外をスローする
-
[解決済み] goでローカルパッケージをインポートするには?
-
[解決済み] Golangで定数mapを宣言するには?
-
[解決済み] Goでマップにキーが含まれているかどうかを確認するには?
-
[解決済み] Goで2つのスライスを連結する
-
[解決済み] 構造体変数をコンソールに表示するには?
-
[解決済み】ルーンとは何ですか?
最新
-
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 モジュールのローカル リポジトリとして Artifactory を使用する方法
-
[解決済み] 文字列の先頭と末尾のホワイトスペースを削除するにはどうすればよいですか?
-
[解決済み] golang の "go get" コマンドで "go: missing Git command" というエラーが表示される。
-
[解決済み] 地図をコピーするには?
-
[解決済み] goでローカルパッケージをインポートするには?
-
[解決済み] インポートサイクル不可
-
[解決済み] Golangで定数mapを宣言するには?
-
[解決済み] 2枚のスライスの等価性を確認する
-
パッケージ "github.com/gorilla/websocket" を見つけることができません。
-
[解決済み】go getでインストールしたパッケージの削除について