回答

收藏

如何在 Go 中查找对象的类型?

技术问答 技术问答 232 人阅读 | 0 人回复 | 2023-09-12

如何在 Go 中找到对象的类型?Python 中,我只是typeof用于获取对象的类型。Go 中,有没有办法实现同样的目标?* i  B4 E" P2 B1 E. z
这是我正在迭代的容器:
$ O) ^/ Y* M2 {0 r
    for e := dlist.Front(); e != nil; e = e.Next()      lines := e.Value    fmt.Printf(reflect.TypeOf(lines))}( P6 Z, v0 U- X0 t$ l* D4 a% Y8 ~
在这种情况下,我无法获得对象行的类型,即字符串数组。
% x8 R0 b2 T: [$ L% s3 {                                                                0 V: z4 X6 \) }! H+ ]  H' h
    解决方案:                                                               
$ G; H% ^1 c* b. e# }7 b                                                                Go 反射包有检查变量类型的方法。% j* j2 d6 i( y/ ?, a
字符串、整数和浮点的反射类型将打印在反射类型。
9 a4 W+ N3 s* o! D! z8 l' B2 }6 o
    package mainimport  "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))}
    2 D. T) Q* {) t6 E& u$ z; a, e
输出:
  g2 i: q+ M4 z- H0 v  M7 ]: u
    Hello,playgroundstringintfloat64! s' C  [* I+ S. t* L" L
分享到:
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则