我有一个调用另一个函数并返回 chan 数组的函数。我目前正在使用 for 循环遍历数组中的范围,这会无限期地运行程序,并输出通过通道更新的结果。
func getRoutes() {
for r := range rtu {
if r.Type == 24 {
fmt.Printf("Route added: %s via %s\n",r.Dst.String(),r.Gw.String())
} else if r.Type == 25 {
fmt.Printf("Route deleted: %s via %s\n",r.Dst.String(),r.Gw.String())
}
}
}
当我在main()函数中调用getRoutes()函数时,一切都按计划进行,但它会阻塞应用程序。我尝试从main()函数中调用
go getRoutes()
,但似乎根本没有调用该函数。如何使用Go协程以非阻塞的方式在后台运行此函数?