在 Go 语言中,可以通过 'net' 包来获取当前服务器的 IP 地址。以下是一个示例代码:

package main

import (
	"fmt"
	"net"
)

func main() {
	addrs, err := net.InterfaceAddrs()
	if err != nil {
		fmt.Println(err)
		return
	}

	for _, addr := range addrs {
		if ipnet, ok := addr.(*net.IPNet); ok && !ipnet.IP.IsLoopback() {
			if ipnet.IP.To4() != nil {
				fmt.Println('IPv4:', ipnet.IP.String())
			} else if ipnet.IP.To16() != nil {
				fmt.Println('IPv6:', ipnet.IP.String())
			}
		}
	}
}

这段代码首先调用 'net.InterfaceAddrs()' 函数获取所有网络接口的地址。然后遍历这些地址,如果是非回环地址 ('!ipnet.IP.IsLoopback()') 且是 IPv4 或 IPv6 地址,则打印出来。

Golang 获取当前服务器 IP 地址:完整代码示例

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

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