Golang(Go语言)IP地址转换函数

这篇具有很好参考价值的文章主要介绍了Golang(Go语言)IP地址转换函数。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

String形式的IP地址和Int类型互转函数

Golang(Go语言)IP地址转换函数Golang(Go语言)IP地址转换函数
 1 package main
 2 
 3 import (
 4     "fmt"
 5     "strconv"
 6     "strings"
 7 )
 8 
 9 func main() {
10     ip1 := `172.16.1.2`
11     ipInt1 := 2886729986
12     fmt.Printf("%s转换为int类型:%d\n", ip1, *ip2int(&ip1))
13     fmt.Printf("%d转换为string类型:%s\n", ipInt1, *int2ip(&ipInt1))
14 }
15 
16 func ip2int(ip *string) *int {
17     ipSegs := strings.Split(*ip, ".")
18     result := 0
19     for i, v := range ipSegs {
20         seg, _ := strconv.Atoi(v)
21         seg <<= (3 - i) * 8
22         result |= seg
23     }
24     return &result
25 }
26 
27 func int2ip(ipInt *int) *string {
28     var ipSegs []string
29     for i := 0; i < 4; i++ {
30         ipSegs = append(ipSegs, strconv.Itoa(*ipInt>>((3-i)*8)&255))
31     }
32     result := strings.Join(ipSegs, ".")
33     return &result
34 }
代码

Golang(Go语言)IP地址转换函数

输出如下:

Golang(Go语言)IP地址转换函数

 文章来源地址https://www.toymoban.com/news/detail-745904.html

到了这里,关于Golang(Go语言)IP地址转换函数的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包 赞助服务器费用

相关文章

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包