Golang 获取本地 IP 地址方法
在Go语言中,获取本地IP地址可以通过net
包中的Interfaces
函数来实现。以下是一个简单的示例代码,用于获取并打印出所有本地IP地址:
package main
import (
"fmt"
"net"
"os"
)
func main() {
addrs, err := net.InterfaceAddrs()
if err != nil {
fmt.Println(err)
os.Exit(1)
}
for _, address := range addrs {
if ipnet, ok := address.(*net.IPNet); ok && !ipnet.IP.IsLoopback() {
if ipnet.IP.To4() != nil {
fmt.Println(ipnet.IP.String())
}
}
}
}
这段代码首先调用net.InterfaceAddrs()
获取所有网络接口的地址,然后遍历这些地址,检查每个地址是否是*net.IPNet
类型,并且不是环回地址。如果是IPv4地址,则打印出来。如果你只想获取IPv4地址,可以去掉对To4
方法的调用。
评论已关闭