Go でオブジェクトの型を見つけるにはどうすればよいですか? Python では、typeof
オブジェクトの型を取得するために を使用します。同様に、Go でも同じことを実装する方法はありますか?
反復処理を実行するコンテナは次のとおりです。
for e := dlist.Front(); e != nil; e = e.Next() {
lines := e.Value
fmt.Printf(reflect.TypeOf(lines))
}
この場合、文字列の配列であるオブジェクト ラインの型を取得できません。
ベストアンサー1
Go リフレクション パッケージには、変数の型を検査するためのメソッドがあります。
次のスニペットは、文字列、整数、浮動小数点数の反射型を出力します。
package main
import (
"fmt"
"reflect"
)
func main() {
tst := "string"
tst2 := 10
tst3 := 1.2
fmt.Println(reflect.TypeOf(tst))
fmt.Println(reflect.TypeOf(tst2))
fmt.Println(reflect.TypeOf(tst3))
}
出力:
string
int
float64
見る:http://play.golang.org/p/XQMcUVsOja実際に動作する様子をご覧ください。
詳しいドキュメントはこちら:http://golang.org/pkg/reflect/#タイプ