网站首页 返回列表 “慢生活”不是懒惰,放慢速度不是拖延时间,而是让我们在生活中寻找到平衡。
go标准库中strconv包
这个包实现了基本数据之间进行相互转换。一、常量(1)IntSize原型:constIntSize=intSize其值是int或uint类型的字位数,32位操作系统其值是32,64位系统其值是64二、变量(1)ErrRange原型:varErrRange=errors.New("valueoutofrange")ErrR...
阅读全文
go标准库中unicode/utf8包
__//编码所需的基本数字const(RuneError='\uFFFD'//错误的Rune或Unicode代理字符RuneSelf=0x80//ASCII字符范围MaxRune='\U0010FFFF'//Unicode码点的最大值UTFMax=4//一个字符编码的最大长度)//将r转换为UTF-编码写入p中(p必须...
阅读全文
go标准库中sync包
sync包有以下几个内容:(1)sync.Pool临时对象池(2)sync.Mutex互斥锁(3)sync.RWMutex读写互斥锁(4)sync.WaitGroup组等待(5)sync.Cond条件等待(6)sync.Once单次执行一、临时对象池---2019年11月8日20:05更新1、Pool是用于存储那些被分...
阅读全文
go defer性能测试
在学习中了解到defer相比没有使用defer会消耗部分时间,所以测试了下,使用与不使用defer的性能测试,通过实验,defer影响程序的速度基本可以忽略不计。__packagemainimport("time""fmt")funcmain(){t1:=time.Now()fori:=0;i<1000000;i++{...
阅读全文
go标准库中unsafe包
go语言的指针类型分为三种:(1)普通指针类型:*类型,用于存储地址,不能进行指针运算(2)通用指针类型:用于转换不同类型的指针,不能进行指针运算(3)uintptr:用于指针运算,GC不把uintptr当指针,uintptr无法持有对象。uintptr对象会被回收。unsafe.Pointer可以和普通指针进行转换。...
阅读全文
GO基础深入总结
GO的关键字:包管理:package、import变量:var、map、struct、interface、const、type函数:func、return、defer循环:if、else、switch、case、fallthought、default、for、break、continue、goto、range并发:go...
阅读全文
go实例演示nsq消息队列的使用
使用场景我这儿用一个实例来说明nsq的使用,假设我有一个apiServer的程序,它负责面向用户。有一个dataServer的程序,负责处理数据。apiServer这个进程对用户的请求进行简单的处理,复杂的资源处理则去请求dataSever,让dataServer来处理。dataServer部署在多台主机,apiSer...
阅读全文
go知名第三方包ssdb
因为beego中cache模块中使用了ssdb,所以准备学习下ssdb(1)ssdb简介(2)ssdb的基本操作(3)gossdb怎么使用?1、ssdb简介SSDB是一个C/C++语言开发的高性能NoSQL数据库,支持KV,list,map(hash),zset(sortedset),qlist(队列)等数据结构,用来...
阅读全文
Go Slice 最大容量大小是怎么来的
image原文地址:[GoSlice最大容量大小是怎么来的](https://github.com/EDDYCJY/blog/blob/master/golang/2019-01-06-Go-Slice-%E6%9C%80%E5%A4%A7%E5%AE%B9%E9%87%8F%E5%A4%A7%E5%B0%8F%E6%...
阅读全文
go cache2go分析
该项目github源码链接:该开源项目特点是代码量少,核心代码只有三个文件,是一个用Go实现的并发安全的缓存库,适合学习读写锁、goroutine、map操作。特性:1)并发安全2)可设置每条缓存的过期时间。3)内置缓存访问次数4)自调节的缓存过期检查5)可设置缓存增加/删除回调函数内容:cacahe.go、cache...
阅读全文
go gomemcache包源码分析
因为beego中的cache模块中的子模块memcached引用了这个包,所以也对这包的源码进行分析了下。花了一定的时间编写整理这篇博客,这个包一共两个文件,。关于memcache学习,可以到这边教程学习1)funcNew(server...string)*Client用法:mc:=memcache.New("127....
阅读全文
go语言使用redis(redigo)
go的redisclient用的比较多两个包是redix和redigo,因为beegocache模块里redis使用的是redigo,所以我也就使用这个包了。因为代码内容偏多,结构不清晰,不方便阅读,最后整理成一份思维导图,便于学习。当把整体分析,会发现提供给开发者使用的内容非常巧妙。image.png[点击下载](h...
阅读全文
go语言plugin怎么返回对象
`golang`的`plugin`功能用的比较少,官方的示例只有返回函数,而没有返回对象。但是实际应用中`OOP`可以极大提高程序的质量,经过我自己试验,发现`plugin`是可以返回对象的。返回类型我试验的返回对象的类型是空接口,然后用类型断言转换成含有一组约定方法的接口。实例我们首先在主程序中定义一个约定返回接口:...
阅读全文
go web使用https
如果是在windows下使用,则先,找到Win64OpenSSLv1.1.0j,然后安装。1、生成key文件opensslgenrsa-outserver.key20482、生成crt文件opensslreq-new-x509-sha256-keyserver.key-outserver.crt-days36503、编...
阅读全文
Go 学习之路: 异常处理defer,panic,recover
Go没有像Java那样的异常机制,它不能抛出异常。因为设计者们认为,将异常与控制结构混在一起容易使得代码变得混乱。于是乎引入Exception处理:defer,panic,recover;>简单描述:Go中可以抛出一个panic的异常,然后在defer中通过recover捕获这个异常,然后正常处理。例子代码:__pac...
阅读全文