golang demo
demo1:
/*判断下一跳地址是否是接口ip*/ func GetInterfaceIPString() (ipStrings string) { ifaces, err := net.Interfaces() if err != nil { logging.Errorf("Failed to get network interface") } else { count := 0 for _, i := range ifaces { addrs, err := i.Addrs() if err != nil { logging.Infof("Failed to resolve network interface IP") break } for _, addr := range addrs { var ip net.IP switch v := addr.(type) { case *net.IPNet: ip = v.IP case *net.IPAddr: ip = v.IP } count++ str := fmt.Sprintf("ip[%d] = %s | ", count, ip) ipStrings += str } } logging.Infof("ipStrings = %s", ipStrings) } return }
demo2: