本篇内容主要讲解“GetIP用来获取有效内网IP的方法”,感兴趣的朋友不妨来看看。本文介绍的方法操作简单快捷,实用性强。下面就让小编来带大家学习“GetIP用来获取有效内网IP的方法”吧!
// GetIP 用来获取有效的内网IP
func GetIP() ([]string, error) {
netInterfaces, err := net.Interfaces()
if err != nil {
return nil, fmt.Errorf("net.Interfaces failed, err: %s", err.Error())
}
var ip = make([]string, 0)
for i := 0; i < len(netInterfaces); i++ {
if (netInterfaces[i].Flags & net.FlagUp) != 0 {
addrs, _ := netInterfaces[i].Addrs()
for _, address := range addrs {
if ipnet, ok := address.(*net.IPNet); ok && !ipnet.IP.IsLoopback() {
if ipnet.IP.To4() != nil && ipnet.IP.String() != "" {
ip = append(ip, ipnet.IP.String())
}
}
}
}
}
return ip, nil
}
到此,相信大家对“GetIP用来获取有效内网IP的方法”有了更深的了解,不妨来实际操作一番吧!这里是天达云网站,更多相关内容可以进入相关频道进行查询,关注我们,继续学习!