回答

收藏

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

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

如何在 Go 中找到对象的类型?Python 中,我只是typeof用于获取对象的类型。Go 中,有没有办法实现同样的目标?+ W! E+ _& z% S4 `9 W  p8 T
这是我正在迭代的容器:
; `2 G% o# J* \' z* K
    for e := dlist.Front(); e != nil; e = e.Next()      lines := e.Value    fmt.Printf(reflect.TypeOf(lines))}
    - L9 `3 P- M' T8 A7 M
在这种情况下,我无法获得对象行的类型,即字符串数组。
) l& {4 W+ P/ j0 m- P9 h' l4 C                                                               
0 ^" R2 N+ Z  R4 C0 m- L0 {    解决方案:                                                               
* h5 S! \% P8 h$ c                                                                Go 反射包有检查变量类型的方法。& b: }5 E! q6 g1 y
字符串、整数和浮点的反射类型将打印在反射类型。2 l9 ^+ H6 `- C- ^
    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))}; m1 r% R( n8 w: {% q' ]
输出:1 e3 l! S! D( q5 C0 t
    Hello,playgroundstringintfloat64
    3 @/ {2 ]+ {( _( G  x9 s) O
分享到:
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则