map - 日本 - qgis 矢印
無効な操作を取得する:マップのインデックスを作成しようとすると、mymap["title"](タイプinterface{}はインデックス作成をサポートしていません) (2)
私は地図にあるデータを持っており、値を得るためにキーで地図にインデックスを付ける必要があります。
mdi, err := page.Metadata()
fmt.Println(mdi["title"])
しかし、私はエラーメッセージがinvalid operation: mdi["title"] (type interface {} does not support indexing)
を続けていますinvalid operation: mdi["title"] (type interface {} does not support indexing)
。 私は混乱しています。なぜなら、データは地図なので、値を取得するためにインデックスにインデックスを付けることができるはずです。 型が明確でない場合は、値を文字列にキャストしようとしました。
title, ok := mdi["title"].(string)
checkOk(ok)
fmt.Println(title)
しかし、私は同じエラーメッセージを受け取りました。 私は間違って何をしていますか?
あなたのpage.Metadataは値の代わりにポインタを返します。 次のコードは、魅力のように機能します:
package main
import "fmt"
type SomeCustomType map[string]interface{}
func PageData() SomeCustomType {
return SomeCustomType{"bar": "baz"}
}
func main() {
fmt.Printf("%+v\n", PageData())
}