本文实例讲述了go语言版的ip2long函数。分享给大家供大家参考。具体分析如下:
这里介绍的go语言版的ip2long 函数不会对 IP 的合法性进行校验。
复制代码 代码如下:
// 注意: 该函数不会对 IP 的合法性进行校验
func Ip2Long(ip string) (ips string) {
var ip_pieces = strings.Split(ip, ".")
ip_1, _ := strconv.ParseInt(ip_pieces[0], 10, 32)
ip_2, _ := strconv.ParseInt(ip_pieces[1], 10, 32)
ip_3, _ := strconv.ParseInt(ip_pieces[2], 10, 32)
ip_4, _ := strconv.ParseInt(ip_pieces[3], 10, 32)
var ip_bin string = fmt.Sprintf("%08b%08b%08b%08b", ip_1, ip_2, ip_3, ip_4)
ip_int, _ := strconv.ParseInt(ip_bin, 2, 64)
return
}
func Ip2Long(ip string) (ips string) {
var ip_pieces = strings.Split(ip, ".")
ip_1, _ := strconv.ParseInt(ip_pieces[0], 10, 32)
ip_2, _ := strconv.ParseInt(ip_pieces[1], 10, 32)
ip_3, _ := strconv.ParseInt(ip_pieces[2], 10, 32)
ip_4, _ := strconv.ParseInt(ip_pieces[3], 10, 32)
var ip_bin string = fmt.Sprintf("%08b%08b%08b%08b", ip_1, ip_2, ip_3, ip_4)
ip_int, _ := strconv.ParseInt(ip_bin, 2, 64)
return
}
希望本文所述对大家的Go语言程序设计有所帮助。