遍历接口数组

遍历接口数组,第1张

遍历接口数组

类型开关中,如果您希望访问强制转换为适当类型的变量,则只需使用类似的命令,

switchx := v.(type)
并且在每种情况下,开关
x
将具有适当的值。规范中有一个例子。您甚至可以这样做,
switch v :=v.(type)
并且在switch语句中将有v的阴影版本。

例如:

switch x := v.(type) {case []interface{}:        fmt.Printf("got %Tn", x)        for i, e := range x {     fmt.Println(i, e)        }default:        fmt.Printf("I don't know how to handle %Tn", v)}

playground

还要注意,

fmt.Printf
当您只想打印变量的类型时,可以只使用“%T” 代替(直接)使用reflect包。

最后,请注意,如果您有多个非默认子句,则需要使用类型开关,但是,例如在您的示例中,如果您确实只对一种类型感兴趣,则应该执行以下 *** 作:

if x, ok := v.([]interface{}); ok {        fmt.Printf("got %Tn", x)        for i, e := range x {     fmt.Println(i, e)        }} else {        fmt.Printf("I don't know how to handle %Tn", v)}


欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/zaji/5013014.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2022-11-14
下一篇 2022-11-14

发表评论

登录后才能评论

评论列表(0条)

保存