IPv4 互换:

package main

import (
"fmt"
"math/big"
"net"
) func InetNtoA(ip int64) string {
return fmt.Sprintf("%d.%d.%d.%d",
byte(ip>>), byte(ip>>), byte(ip>>), byte(ip))
} func InetAtoN(ip string) int64 {
ret := big.NewInt()
ret.SetBytes(net.ParseIP(ip).To4())
return ret.Int64()
} func main() {
ip := "192.168.78.123"
ipInt := InetAtoN(ip) fmt.Printf("convert string ip [%s] to int: %d\n", ip, ipInt)
fmt.Printf("convert int ip [%d] to string: %s\n", ipInt, InetNtoA(ipInt))
}

IPv6互换:

package main

import (
"fmt"
"math/big"
"net"
) func IP6toInt(IPv6Address net.IP) *big.Int {
IPv6Int := big.NewInt()
IPv6Int.SetBytes(IPv6Address.To16())
return IPv6Int
} func main() {
ipv6 := "2001:db8:0:1::101"
ipv6Decimal := IP6toInt(net.ParseIP(ipv6))
fmt.Println(ipv6Decimal)
}

测试结果:

[root@wangjq]# go run .go

golang IPv6 转 十进制的更多相关文章

  1. golang 二进制转十进制实现方式

    golang 二进制转十进制实现方式 直接上代码 package main import ( "fmt" "math" ) func StringToIntAr ...

  2. python IPv6 十进制和十六进制互转

    IPv6 转 十进制: #!/usr/bin/python # -*- coding: UTF-8 -*- import re def ipv62dec(ipv6): if checkipv6(ipv ...

  3. C语言 IPv6 十六进制 转 十进制

    #include <stdio.h> #include <string.h> #include <math.h> //ipv4地址转换 int ipv4_to_i( ...

  4. golang 判断IPv4 or IPv6 address

    import strings func IsIPv4(address string) bool { return strings.Count(address, ":") < ...

  5. Golang核心编程

    源码地址: https://github.com/mikeygithub/GoCode 第1章 1Golang 的学习方向 Go 语言,我们可以简单的写成 Golang 1.2Golang 的应用领域 ...

  6. golang 使用 iota

    iota是golang语言的常量计数器,只能在常量的表达式中使用. iota在const关键字出现时将被重置为0(const内部的第一行之前),const中每新增一行常量声明将使iota计数一次(io ...

  7. IPV6入门篇

    引言 由于互联网的快速发展与普及,原有的IPV4地址已不能满足网络用户的需求,虽然NAT可以缓解IPV4地址的耗尽,但NAT破坏了网络环境的开放.透明以及端到端的特性,因此IPV6地址协议应运而生.I ...

  8. golang使用 mongo

    连接集群 mongodb://[username:password@]host1[:port1][,host2[:port2],...[,hostN[:portN]]][/[database][?op ...

  9. Ubuntu14.04+RabbitMQ3.6.3+Golang的最佳实践

    目录 [TOC] 1.RabbitMQ介绍 1.1.什么是RabbitMQ?   RabbitMQ 是由 LShift 提供的一个 Advanced Message Queuing Protocol ...

随机推荐

  1. jmeter之断言复制过来的内容也会失败

    今天遇到个很纳闷的事儿,就决定记下来,在做jmeter断言的时候,明明我是从相应文本中拷贝出来的内容,但是依旧会断言失败,差了很多资料无果,最终请教了大佬才发现是特殊字符的问题 jmeter断言中不会 ...

  2. PHP cal_info() 函数

    ------------恢复内容开始------------ 实例 返回格利高里历法的信息: <?phpprint_r(cal_info(0));?> 运行实例 » 定义和用法 cal_i ...

  3. 7.9 NOI模拟赛 A.图 构造 dfs树 二分图

    啥都想不出来的我是不是废了/dk 这道题考的主要是构造 而我想的主要是乱搞. 一个很假很假的做法:直接暴力4种颜色染色 我也不知道对不对.. 不过成功的话一定是对的. 然后考虑奇环的问题 一个很假很假 ...

  4. spring中IOC入口与加载步骤

    ApplicationContext applicationContext =new ClassPathXmlApplicationContext("spring-context.xml&q ...

  5. Windows环境编译Spark源码

    一.下载源码包 1. 下载地址有官网和github: http://spark.apache.org/downloads.html https://github.com/apache/spark Li ...

  6. HashMap源码(数组算法)

    Jdk1.8初始化hashMap容量的算法 static final int tableSizeFor(int cap) { // 先减1,避免传进来的本来就是2的n次幂,导致算出来多了一次幂,比如传 ...

  7. JQuery插件,轻量级表单模型验证(续 一)

    之前的代码结构,不方便扩展多结构的模型验证 重新结构设计了一下验证模型核心 var validateForm = (function(model) { model.Key = "[data- ...

  8. python深挖65万人的明星贴吧,探究上万个帖子的秘密

    前言 本文的文字及图片来源于网络,仅供学习.交流使用,不具有任何商业用途,版权归原作者所有,如有问题请及时联系我们以作处理. 最近一直在关注百度明星吧,发现很多有趣的帖子,于是我就想用python把这 ...

  9. js 排他思想案例

    <!-- 排他思想 --> <button>按钮1</button> <button>按钮2</button> <button> ...

  10. Tomcat Windows 内存设置

    双击 bin 目录下 tomcat8w.exe,在 java 标签内修改内存配置