2017-07-28 10 views
-1
//エラー
type important struct { 
client  string     `json:"client"` 
Response Summary  `json:"response"` 

}golangでネストされた構造体を初期化する方法は?

type Summary struct { 
Name  string   `json:"name"` 
Metadata Clientdata  `json:"metadata"` 
} 

type Clientdata struct { 
Income string   `json:"income"` 
} 


v := &important{ client: "xyz", Response: Summary[{ 
      Name: "test", 
      Metadata: Clientdata { "404040"}, 
     } 
    }] 

:要約{: "テスト"、メタデータ:名前Clientdata { "404040"}を使用することができず、}(タイプ要約)タイプとして[]概要みます

私はここで間違っていますか?

+0

自分自身で行ってください。https://github.com/golang/go/wiki/CodeReviewComments#gofmt –

答えて

1

簡単に言えば、スライスリテラルの構文はわずかです。あなたの間違いはかなり論理的ですが、残念ながらそれは動作しません。

され、次の修正版:

v := &important{ client: "xyz", Response: []Summary{ 
     { 
      Name: "test", 
      Metadata: Clientdata { "404040"}, 
     }, 
    }, 
} 

リテラルのスライスはそうのように定義されています。

[]type{ items... } 
0

あなたのレスポンスの構造体が暗示するように、それにアプローチしたいどのようにそれは明確ではありませんでした[] VmSummary info、しかしあなたはそれを供給しています[] Summary。

また、アレイの初期化時にhttps://blog.golang.org/go-slices-usage-and-internalsをチェックしてください。

これは何ですか?

type important struct { 
    client string `json:"client"` 
    Response []Summary `json:"response"` 
} 

type Summary struct { 
    Name  string  `json:"name"` 
    Metadata Clientdata `json:"metadata"` 
} 

type Clientdata struct { 
    Income string `json:"income"` 
} 

func main() { 
    v := &important{ 
     client: "xyz", 
     Response: []Summary{ 
      { 
       Name:  "test", 
       Metadata: Clientdata{"404040"}, 
      }, 
     }, 
    } 
} 
関連する問題