ip
pengpengzhou
主要学习语言Java,Nodejs,Go
展开
-
Go语言:整形int64转IP字符串(IPv4)的效率问题
由整形转换成IP字符串如:4284928154 到255.102.208.154,这个问题效率最高的方法是:func InetNtoA3(i int64) string { return net.IP{byte(i >> 24), byte(i >> 16), byte(i >> 8), byte(i)}.String()}从net.IP的源代码来看在最后String()之前,前面的过程都是以byte的方式进行的,应该是最优算法了。作为参照,把网上常见.原创 2020-06-23 14:20:54 · 613 阅读 · 0 评论 -
Go语言:判断IP是否合法是IPv4还是IPv6
net.IP的ParseIP函数判断IPv4/IPv6的依据就是是否出现".”或者":",因为返回的net.IP都是16字节,而且IPv4前面加了::ffff所以根据返回的IP是不太好判断输入的原始字符串是IPv4还是IPv6。所以得自己写,代码如下:package mainimport ( "fmt" "net")// 0: invalid ip// 4: IPv4// 6: IPv6func ParseIP(s string) (net.IP, int) { ip := ne原创 2020-05-13 16:28:30 · 7070 阅读 · 0 评论