go语言版的ip2long函数实例
本文实例讲述了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
}
希望本文所述对大家的Go语言程序设计有所帮助。
相关推荐
-
Go语言的os包中常用函数初步归纳
(1)os.Getwd函数原型是func Getwd() (pwd string, err error) 返回的是路径的字符串和一个err信息,为什么先开这个呢?因为我看os的包的时候第一个是Chkdir这个包,但是你不知道当前目录怎么知道改变目录了呢?所以先说Getwd() 函数demo 复制代码 代码如下: import ( "fmt" "os" ) func main() { dir, _ := os.Getwd() fmt.Println("
-
Go语言截取字符串函数用法
本文实例讲述了Go语言截取字符串函数用法.分享给大家供大家参考.具体如下: 复制代码 代码如下: func Substr(str string, start, length int) string { rs := []rune(str) rl := len(rs) end := 0 if start < 0 { start = rl - 1 + start } end = start + length
-
Go语言常见哈希函数的使用
myhash.go /** * Created with IntelliJ IDEA. * User: liaojie * Date: 12-9-8 * Time: 下午3:53 * To change this template use File | Settings | File Templates. */ package main import ( "crypto/md5" "crypto/sha1" "crypto/sha256" &qu
-
Golang学习笔记(六):struct
struct struct,一组字段的集合,类似其他语言的class 放弃了大量包括继承在内的面向对象特性,只保留了组合(composition)这个最基础的特性 1.声明及初始化 复制代码 代码如下: type person struct { name string age int } //初始化 func main() { var P person P.name = "tom" P.age = 25 fmt.Println(P.name)
-
Go语言中append函数用法分析
本文实例分析了Go语言中append函数用法.分享给大家供大家参考.具体如下: Go语言中append的功能十分强大,使用它可以使很多功能的实现变得更加简洁.以下为简单对比: .将一个slice插入到另一个slice的指定位置: 不使用append: 复制代码 代码如下: func insertSliceAtIndex(slice_origin []int, slice_to_insert []int, insertIndex int) (result []int, err error
-
GO语言延迟函数defer用法分析
本文实例讲述了GO语言延迟函数defer用法.分享给大家供大家参考.具体分析如下: defer 在声明时不会立即执行,而是在函数 return 后,再按照 FILO (先进后出)的原则依次执行每一个 defer,一般用于异常处理.释放资源.清理数据.记录日志等.这有点像面向对象语言的析构函数,优雅又简洁,是 Golang 的亮点之一. 代码1:了解 defer 的执行顺序 复制代码 代码如下: package main import "fmt" func fn(n int) int {
-
举例详解Go语言中os库的常用函数用法
(f *File).Name()这个函数是返回文件的名称,函数原型func (f *File) Name() string要文件的指针操作,返回字符串,感觉比较鸡助的方法底层实现 复制代码 代码如下: func (f *File) Name() string { return f.name } import ( "fmt" "os" ) func main() { f, _ := os.Open("1.go") fmt.Println(
-
golang中strconv.ParseInt函数用法示例
本文实例讲述了golang中strconv.ParseInt函数用法.分享给大家供大家参考,具体如下: golang strconv.ParseInt 是将字符串转换为数字的函数,功能灰常之强大. 参数1 数字的字符串形式 参数2 数字字符串的进制 比如二进制 八进制 十进制 十六进制 参数3 返回结果的bit大小 也就是int8 int16 int32 int64 func ParseInt(s string, base int, bitSize int) (i int64, err erro
-
golang实现unicode转换为字符串string的方法
本文实例讲述了golang实现unicode转换为字符串string的方法.分享给大家供大家参考,具体如下: 复制代码 代码如下: package main import ( "bytes" "encoding/binary" "encoding/hex" "fmt" "strings" ) func main() { str := `\u5bb6\u65cf
-
Go语言中函数的参数传递与调用的基本方法
按值传递函数参数,是拷贝参数的实际值到函数的形式参数的方法调用.在这种情况下,参数在函数内变化对参数不会有影响. 默认情况下,Go编程语言使用调用通过值的方法来传递参数.在一般情况下,这意味着,在函数内码不能改变用来调用所述函数的参数.考虑函数swap()的定义如下. 复制代码 代码如下: /* function definition to swap the values */ func swap(int x, int y) int { var temp int temp = x /* s
-
简单了解Go语言中函数作为值以及函数闭包的使用
函数作为值 Go编程语言提供灵活性,以动态创建函数,并使用它们的值.在下面的例子中,我们已经与初始化函数定义的变量.此函数变量的目仅仅是为使用内置的Math.sqrt()函数.下面是一个例子: 复制代码 代码如下: package main import ( "fmt" "math" ) func main(){ /* declare a function variable */ getSquareRoot := func(x float64
-
Go语言中的流程控制结构和函数详解
这小节我们要介绍Go里面的流程控制以及函数操作. 流程控制 流程控制在编程语言中是最伟大的发明了,因为有了它,你可以通过很简单的流程描述来表达很复杂的逻辑.Go中流程控制分三大类:条件判断,循环控制和无条件跳转. if if也许是各种编程语言中最常见的了,它的语法概括起来就是:如果满足条件就做某事,否则做另一件事. Go里面if条件判断语句中不需要括号,如下代码所示: 复制代码 代码如下: if x > 10 { fmt.Println("x is greater than 10&
-
Go语言里的new函数用法分析
本文实例讲述了Go语言里的new函数用法.分享给大家供大家参考.具体如下: 表达式 new(T) 分配了一个零初始化的 T 值,并返回指向它的指针. var t *T = new(T) 或 t := new(T) 代码如下: 复制代码 代码如下: package main import "fmt" type Vertex struct { X, Y int } func main() { v := new(Vertex) fmt.Println(v) v
随机推荐
- 详解ASP.NET Core 在 JSON 文件中配置依赖注入
- C# 8.0新特性介绍
- Golang开发中常用的代码片段汇总
- 通过js获取div的background-image属性
- 微信小程序url与token设置详解
- 关于pip的安装,更新,卸载模块以及使用方法(详解)
- php实现改变图片直接打开为下载的方法
- 解决Android从相册中获取图片出错图片却无法裁剪问题的方法
- ubuntu取消pppoe启动时自动拔号的设置方法
- jquery无缝向上滚动实现代码
- Javascript Request获取请求参数如何实现
- linux服务器安全加固shell脚本代码
- oracle 函数
- JS如何生成一个不重复的ID的函数
- 详细分析JavaScript变量类型
- window.location 对象所包含的属性
- SIM卡的基本知识
- JavaScript中数组对象的那些自带方法介绍
- php实现网页常见文件上传功能
- C#序列化成XML注意细节