要获取当前服务器的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地址,可能需要进一步处理。

golang获取当前服务器的ip

原文地址: http://www.cveoy.top/t/topic/ieu9 著作权归作者所有。请勿转载和采集!

免费AI点我,无需注册和登录