Golang获取本地IP地址方法分享
更新时间:2023年07月26日 08:46:52 作者:路多辛
这篇文章主要给大家介绍了Golang 获取本地 IP 地址方法,文中有详细的代码示例,对我们的学习或工作有一定的帮助,需要的朋友可以参考下
在 Golang 中,使用 net 包可以很方便地获取到本机IP地址。
借助 net.InterfaceAddrs 方法
简单示例代码如下:
package main import ( "fmt" "net" ) func main() { addrList, err := net.InterfaceAddrs() if err != nil { panic(err) } for _, address := range addrList { if ipNet, ok := address.(*net.IPNet); ok && !ipNet.IP.IsLoopback() { if ipNet.IP.To4() != nil { fmt.Println(ipNet.IP.String()) } } } }
借助 net.Dial 方法
使用 udp 不需要关注是否送达,只需要对应的 ip 和 port 正确,即可获取到 IP 地址。简单示例代码如下:
package main import ( "fmt" "net" "strings" ) func main() { conn, err := net.Dial("udp", "8.8.8.8:53") if err != nil { panic(err) } addr := conn.LocalAddr().(*net.UDPAddr) ip := strings.Split(addr.String(), ":")[0] fmt.Println(ip) }
到此这篇关于Golang获取本地IP地址方法分享的文章就介绍到这了,更多相关Golang获取本地IP内容请搜索脚本之家以前的文章或继续浏览下面的相关文章希望大家以后多多支持脚本之家!
相关文章
goland 实现websocket server的示例代码
本文主要介绍了goland 实现websocket server的示例代码,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧2022-06-06使用Golang的singleflight防止缓存击穿的方法
这篇文章主要介绍了使用Golang的singleflight防止缓存击穿的方法,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧2020-04-04go defer return panic 执行顺序示例详解
这篇文章主要介绍了go defer return panic 执行顺序,本文通过示例代码给大家介绍的非常详细,对大家的学习或工作具有一定的参考借鉴价值,需要的朋友可以参考下2023-01-01
最新评论