Go 中的类型获取
在 Go 中处理对象时,确定它们的类型对于各种操作至关重要。在 Python 中,typeof 函数就是用于此目的。 Go 使用反射包提供了类似的解决方案。
使用反射进行类型检查
Go 中的反射包提供了检查变量类型的方法。这在迭代集合时特别有用。例如,如果您有一个双向链表,如给定的代码片段所示:
for e := dlist.Front(); e != nil; e = e.Next() { lines := e.Value fmt.Printf(reflect.TypeOf(lines)) }
要检索行的类型(字符串数组),您可以使用reflect.TypeOf 函数。下面的代码演示了这一点:
import ( "fmt" "reflect" ) func main() { lines := []string{"a", "b", "c"} fmt.Println(reflect.TypeOf(lines)) }
此代码将输出:
[]string
附加信息
反射包提供了全面的功能型式检验。详细文档位于:http://golang.org/pkg/reflect/#Type。要试验这些概念,请访问在线 Go 游乐场:http://play.golang.org/p/XQMcUVsOja。
以上是Go中如何使用反射来确定变量的类型?的详细内容。更多信息请关注PHP中文网其他相关文章!