golang获取当前服务器的ip
要获取当前服务器的IP地址,可以使用net包中的函数来实现。下面是一个示例代码:
package main
import (
"fmt"
"net"
)
func main() {
addrs, err := net.InterfaceAddrs()
if err != nil {
fmt.Println(err)
return
}
for _, addr := range addrs {
// 检查IP地址类型,只获取IPv4地址
if ipnet, ok := addr.(*net.IPNet); ok && !ipnet.IP.IsLoopback() && ipnet.IP.To4() != nil {
fmt.Println(ipnet.IP.String())
}
}
}
这段代码通过调用net.InterfaceAddrs()函数获取所有网络接口的地址列表,然后使用net.IPNet类型来检查并过滤出IPv4地址。最后,打印出符合条件的IP地址。
请注意,这段代码仅返回服务器上的所有IPv4地址,如果服务器有多个网络接口,可能会返回多个IP地址。如果你只想获取主要的公共IP地址,可能需要进一步处理。
原文地址: http://www.cveoy.top/t/topic/ieu9 著作权归作者所有。请勿转载和采集!