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/fQV4 著作权归作者所有。请勿转载和采集!