質問をすることでしか得られない、回答やアドバイスがある。

15分調べてもわからないことは、質問しよう!

新規登録して質問してみよう
ただいま回答率
85.50%
Go

Go(golang)は、Googleで開発されたオープンソースのプログラミング言語です。

Q&A

解決済

1回答

4082閲覧

Go言語のmap:sliceのvalueの値を指定して取得したい

hzfs11

総合スコア7

Go

Go(golang)は、Googleで開発されたオープンソースのプログラミング言語です。

0グッド

0クリップ

投稿2016/12/01 10:41

編集2016/12/05 06:50

###前提・実現したいこと
mapのvalueがsliceでそのvalueの中から値を切り出したい。
2重配列になっているvalue側の値を指定して取得したい。

###発生している問題・エラーメッセージ
取り出し方が、いまいちわかっていない。

###該当のソースコード

Go

1type Element struct { 2score int64 3come string 4} 5 6var elements = map[int64][]Element{} 7 8for _, data := range test { 9come := fmt.Sprintf("\n\n"+ 10 "Score: %s\n"+ 11 "Number: %s\n\n", 12 date.score, date.number, 13) 14elements[data.id] = append(elements[data.id],Element{ 15score:data.score, 16come: come,}) 17}

ここからcomeだけを抜き出したいです。
どう抜き出したらいいかわからなくて、現状ストップしています。

色々と試行錯誤重ねているのですが、わからずじまいです。

どなたかご教授お願いいたします。

###補足情報(言語/FW/ツール等のバージョンなど)
より詳細な情報

気になる質問をクリップする

クリップした質問は、後からいつでもMYページで確認できます。

またクリップした質問に回答があった際、通知やメールを受け取ることができます。

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

guest

回答1

0

ベストアンサー

mapでappendは使わなくてもいいです。

値の格納

go

1elements[data.id] = Element{ 2 score:data.score, 3 come: come, 4}

取得

go

1fmt.Println(elements[data.id].come)

追記

elementsからcoreを抜き出せればいいんですね

go

1for key, val := range elements{ 2 fmt.Println("id=", key) 3 for _, v := range val{ 4 fmt.Println("\t", v.come) 5 } 6 fmt.Println() 7}

idと、そのcomeを一覧表示するプログラムです。

投稿2016/12/02 15:44

編集2016/12/05 08:59
intelf___

総合スコア868

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

hzfs11

2016/12/04 14:20

data.idでくくって値を出したくて、後ろのElementストラクとも配列にしているので、appendしていて、その中からbodyのみを出したいです。
intelf___

2016/12/05 08:50

本当ですね。見逃してました。 追記する形で修正しておきます。
hzfs11

2016/12/05 09:46

ご丁寧にありがとうございます。 できました。 もう少し理解を深めたいと思います。
intelf___

2016/12/09 04:33

golangを勉強する上で外せない勉強用のサイトです。 https://go-tour-jp.appspot.com/ Web上での実行環境がついてくるので、簡単なプログラムのテストにも使えます。 途中から英語になると思いますが、Google翻訳も精度が上がっているようであまり不都合に感じませんでした。
hzfs11

2016/12/13 03:49

本当にありがとうございます。 お力添えいただけて嬉しく思います。 また何かありましたら、お答えいただけたら嬉しく思います。 本件、本当にご丁寧にありがとうございます。
guest

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

15分調べてもわからないことは
teratailで質問しよう!

ただいまの回答率
85.50%

質問をまとめることで
思考を整理して素早く解決

テンプレート機能で
簡単に質問をまとめる

質問する

関連した質問