获取本机ip的方法:


//获取ip
func externalIP() (net.IP, error) {ifaces, err := net.Interfaces()if err != nil {return nil, err}for _, iface := range ifaces {if iface.Flags&net.FlagUp == 0 {continue // interface down}if iface.Flags&net.FlagLoopback != 0 {continue // loopback interface}addrs, err := iface.Addrs()if err != nil {return nil, err}for _, addr := range addrs {ip := getIpFromAddr(addr)if ip == nil {continue}return ip, nil}}return nil, errors.New("connected to the network?")
}//获取ip
func getIpFromAddr(addr net.Addr) net.IP {var ip net.IPswitch v := addr.(type) {case *net.IPNet:ip = v.IPcase *net.IPAddr:ip = v.IP}if ip == nil || ip.IsLoopback() {return nil}ip = ip.To4()if ip == nil {return nil // not an ipv4 address}return ip
}

调用:

func main() {ip, err := externalIP()if err != nil {fmt.Println(err)}fmt.Printf(ip.String())
}

结果:

go 获取本机ip地址相关推荐

  1. Go 学习笔记(79)— Go 标准库 net(获取本机IP地址)

    1. 获取本机 IP 地址 package mainimport ("fmt""net" )// 获取本机网卡IP func getLocalIP() (ipv ...

  2. python获取本机 ip地址、mac地址(物理地址)、计算机名、硬盘序列号、CPU序列号、主板序列号、bios序列号、bios uuid号

    文章目录 python获取本机IP地址.mac地址(物理地址).计算机名 物理地址 计算机名.ip地址 硬盘序列号 CPU序列号 主板序列号 bios序列号 bios uuid号 python获取本机 ...

  3. 快速获取本机IP地址AWK功能

    有些时候,我们在应用中可能要用到通过linux命令来获取本机IP地址,方法有很多种,例如最常见的就是ifconfig 如果我想尽尽只获取IP地址,方法也有很多种 例如:获取eth0的IP信息,利用cu ...

  4. C#获取本机IP地址字符串

    1 using System.Net;2 using System.Net.Sockets;3 4 /// <summary>5 /// 获取本机IP地址6 /// </summar ...

  5. python设置本机IP地址、子网掩码、DNS,获取本机IP地址、子网掩码、DNS、MAC

    python设置本机IP地址.子网掩码.DNS,获取本机IP地址.子网掩码.DNS.MAC main.py """=== coding: UTF8 ==="&q ...

  6. Java 网络实例一(获取指定主机的IP地址、查看端口是否已使用、获取本机ip地址及主机名、获取远程文件大小)

    获取指定主机的IP地址 import java.net.InetAddress; import java.net.UnknownHostException;public class GetIP {pu ...

  7. java获取本机ip地址_代码片段:获取系统所有IP

    问题 在Windows系统中,可以支持多个网卡,比如有线的以太网卡,无线网卡,虚拟网卡等.如下图所示: 每一张网卡由不同的类型,也可以分别被用户启用或禁用. 对于单独一张给定的网卡,其IP地址可以是D ...

  8. Delphi如何获取本机IP地址

    Delphi获取本机IP地址 //获取本机IP function TKSMsgLog.GetLocalAddress:String; typeTaPInAddr = array [0..10] of ...

  9. python 获取本机IP地址

    方法一: 通常使用socket.gethostbyname()方法即可获取本机IP地址,但有时候获取不到(比如没有正确设置主机名称),示例代码如下: import socket# 获取本机计算机名称 ...

  10. 用java获取本机IP地址

    在网上找了几个用java获取本机IP地址的代码,发现都少都有些不完美,自己整理了一下.突然之间很想把自己的IP地址给获取了,虽然用系统自带命令可以得到,但自己想写一个程序获取一下,到网上搜索了一下ja ...

最新文章

  1. 企业级 SpringBoot 教程 (三)SpringBoot用JdbcTemplates访问Mysql
  2. 第十六届智能车竞赛竞速组别网络报名说明
  3. windows 2008 下C#调用office组件访问拒绝的解决方法(failed due to the following error: 80070005 拒绝访问)...
  4. .NET中的异步编程(四)- IO完成端口以及FileStream.BeginRead
  5. Flv网络播放器制作全攻略(续)
  6. Python基础教程:属性值设置和判断变量是否存在
  7. MySQL Event
  8. mysql写什么不同_mysql - 编译配置PHP时,两种配置写法有什么不同
  9. QT 线程池 + TCP 小试(二)实现通信功能
  10. Domain Model:业务对象的进一步设计
  11. util包的简单介绍
  12. 从零编写linux0.11 - 第七章 完善终端
  13. Source Insight 4.0安装破解及简单使用
  14. linux在文件夹下查找关键字,Linux 搜索目录和子目录下含有关键字的文件
  15. 在你的项目中集成 Android pay支付
  16. 优酷youku 1080P 视频下载方法
  17. Lagrange插值法与Newton插值法
  18. 忽略Eclipse中jsp报错
  19. Java集合源码系列(1)---- ArrayList详解
  20. html css动画自动旋转,html – 使这个CSS3动画旋转只旋转一次

热门文章

  1. 云桌面终端CT3200,硬件与信号连接
  2. 【社招】 中/高级C++ Developer - 美国顶尖交易公司Akuna Capital–上海
  3. 腾讯语音合成V3鉴权失败
  4. haosou属于搜索引擎的_中国的搜索引擎有哪些?
  5. mongodb 副本集Replica Set的keyfile验证
  6. .net下如何压缩图片大小,超简单
  7. 多张图片怎么修改分辨率?手把手教你一键批量修改图片分辨率
  8. 苹果怎样添加无线网络连接服务器,教你iphone8 icloud连接服务器时出错怎么办及苹果手机如何设置成指定名称的WiFi热点...
  9. 如何激活微信里沉睡的客户?
  10. Python一键替换证件照背景,还用去照相馆?