map[string]interface{} が入れ子になったものを扱うときがあって たぶん、こういうなんだかわからないけど、いい感じに区分けされたデータ列があったときに使うんじゃないかな、きっと。 (前段階のアプローチがそもそも悪いかも)
{
"case-1": {
"a" : {
"id" : 1
},
"b" : {
"id" : 2
}
},
"case-2": {
"c" : {
"id" : 3
}
}
}
その中から特定のキーをいい感じに取り出したいなあってなったので作ってみた。 GitHub - sters/maputils
余談になるけど どこかで再帰呼び出しとループだと、ループのほうが速いよって書いてあったので、再帰的にキーを探すところはループでやってみた。
それでもって、ベンチも取ってみた。 gist:521e2be8b3aeed0c87fe75f7335f259e
謎な map の作り方してるけど、これくらいの規模感でやらないと、手元だとまったくもって差がでなかった。 逆にいえば、これくらいの規模感を取り扱う or これくらい負荷がかかるようになって初めて効果あるくらいなのかあという気持ち。
書いてて思ったけど []struct から特定のフィールドだけ取り出すほうが需要高そうだしもうありそう。