0
尝试从网络名称空间内打印路由列表。 netlink.RouteList
函数需要Interface
类型。所有接口的列表由LinkList()
收集。从Go列表中打印列表。循环故障
我试图给每个接口调用RouteList并打印它的输出。 RouteList返回类型Route
,我试图打印int
LinkIndex。
它看起来好像我的循环
for j := range rt {
log.Printf("Route: %d : %d",rt[j].LinkIndex)
}
是不是出于某种原因执行,运行在那里的产量没有另一个printf的测试。
为什么不会调用这个循环?
func (h *NSHandle) showInts() {
nh := (*netlink.Handle)(h) //cast required
int, err := nh.LinkList()
if err != nil {
log.Fatal(err)
}
log.Printf("Namespace Ints:")
for i, r := range int {
log.Printf("%d: %s", i, r.Attrs().Name)
rt, err := netlink.RouteList(r,-1)
if err != nil {
log.Fatal(err)
}
for j := range rt {
log.Printf("Route: %d : %d",rt[j].LinkIndex)
}
}
}