可以通过以下代码实现:
package main
import (
"fmt"
"net"
)
func main() {
conn, err := net.Dial("udp", "8.8.8.8:80")
if err != nil {
fmt.Println(err)
return
}
defer conn.Close()
localAddr := conn.LocalAddr().(*net.UDPAddr)
fmt.Println("Local IP address:", localAddr.IP)
}
这个程序会创建一个 UDP 连接,并向 Google DNS 发送一个数据包。然后它将返回本地 IP 地址,这通常是用于发送数据包的网络接口的IP地址,即源IP地址。