常熟网站制作设计,3合1网站建设,网站备案进度,网站统计工具是什么意思简介
在net包中提供了获取所有网卡的ip#xff0c;一般不会用127.0.0.1,::1这样的本地回环地址#xff0c;可以过滤掉#xff0c;如果想要获取当前真正在使用的地址#xff0c;得通过net.Dail去连一下才知道
获取ip地址
func main() {fmt.Println(getIpv4())fmt.Println…简介
在net包中提供了获取所有网卡的ip一般不会用127.0.0.1,::1这样的本地回环地址可以过滤掉如果想要获取当前真正在使用的地址得通过net.Dail去连一下才知道
获取ip地址
func main() {fmt.Println(getIpv4())fmt.Println(getIpv6())
}func getIpv4() []string {ips : make([]string, 0)for _, ip : range GetAllIp() {if ip.IP.To4() ! nil {ips append(ips, ip.IP.String())}}return ips
}func getIpv6() []string {ips : make([]string, 0)for _, ip : range GetAllIp() {if ip.IP.To16() ! nil {ips append(ips, ip.IP.String())}}return ips
}func GetAllIp() []*net.IPNet {ips : make([]*net.IPNet, 0)addrs, _ : net.InterfaceAddrs()for _, addr : range addrs {// 过滤调本地回环地址if ip, ok : addr.(*net.IPNet); ok !ip.IP.IsLoopback() {ips append(ips, ip)}}return ips
}获取正在使用的地址
通过net.Dial去连一下自然就能知道自己用的是哪个地址使用udp去连地址可以随便写只要符合规范
func main() {fmt.Println(GetUseIp())
}func GetUseIp() string {dial, err : net.Dial(udp, 8.8.8.8:80) // Google的公共DNS服务器if err ! nil {return 127.0.0.1}addr : dial.LocalAddr().String()index : strings.LastIndex(addr, :)return addr[:index]
}执行输出172.20.131.124欢迎关注学习不迷路