1. ホーム
  2. go

[解決済み] Goでオブジェクトの型を見つけるには?

2022-03-19 10:35:05

質問

Goでオブジェクトの型を見つけるにはどうしたらいいですか?Pythonの場合、私はただ typeof を使用してオブジェクトの型を取得します。Goでも同じように、実装する方法はありますか?

これが反復処理の元となるコンテナです。

for e := dlist.Front(); e != nil; e = e.Next() {
    lines := e.Value
    fmt.Printf(reflect.TypeOf(lines))
}

この場合、オブジェクト行の型は文字列の配列ですが、これを取得することができません。

どうすればいいですか?

Goのリフレクションパッケージには、変数の型を検査するメソッドがあります。

次のスニペットは、文字列、整数、および浮動小数点数のReflection型を出力します。

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))

}

出力します。

Hello, playground
string
int
float64

をご覧ください。 http://play.golang.org/p/XQMcUVsOja をクリックすると、実際の動作をご覧いただけます。

その他のドキュメントはこちら http://golang.org/pkg/reflect/#Type