golang
土豆家的地瓜啊
这个作者很懒,什么都没留下…
展开
-
简单理解go语言的context包
go context学习笔记 type Context interface { Deadline() (deadline time.Time, ok bool) Done() <-chan struct{} Err() error Value(key interface{}) interface{} } context.Context 是 Go 语言在 1.7 版本中引入标准库的接口,该接口定义了四个需要实现的方法,其中包括: Deadline — 返回 context.Context被原创 2020-07-17 17:50:52 · 358 阅读 · 2 评论 -
snowflake和snoyflake雪花算法以及golang实现
snowflake和snoyflake雪花算法学习与go实现 预备知识: Monotonic Clocks,即单调时间,所谓单调,就是只会不停的往前增长,不受校时操作的影响,这个时间是自进程启动以来的秒数 参考文章:https://www.simpleapples.com/2018/10/26/understand-time-struct-in-go/ 雪花算法是twitter开源的在分布式环境下生成的唯一id生成算法。 1 推特雪花算法源码解读 推特雪花算法标准格式如下: id 是64位整型的 +--原创 2020-07-16 17:39:13 · 1658 阅读 · 0 评论 -
websocket学习笔记 go语言使用 gorilla/websocket实现实时聊天项目
扩展包 gorilla/websocket的几个重要函数 协议升级 ,1)先初始化upgrader,再调用其upgrade方法将http协议升级为websicket协议。2)也可以直接使用upgrade函数 进行协议升级 type Upgrader struct { HandshakeTimeout time.Duration ReadBufferSize, WriteBufferSize int WriteBufferPool BufferPool Subprotocols []string原创 2020-06-29 22:01:56 · 1411 阅读 · 0 评论 -
go语言container/heap 源码解读与应用阅读笔记
golang container/heap源码阅读笔记 1. 源码解析 type Interface interface { sort.Interface Push(x interface{}) // add x as element Len() 将x作为第len()个元素加入堆中 Pop() interface{} // remove and return element Le...原创 2020-05-03 20:52:38 · 244 阅读 · 0 评论 -
go语言通过database/sql使用mysql数据库,以及以及第三方sqlx扩展
go语言通过database/sql使用mysql数据库,以及以及第三方sqlx扩展 mysql支持插件式的存储引擎, 常见的存储引擎有:MyISAM,InnoDB MyISAM: 查询速度快 只支持表锁 不支持事务 InnoDB: 整体速度快 支持表锁和行锁 支持事务 事务:多个SQL操作为一个整体执行 事务特点:ACID 原子性 一致性 隔离性 持久性 索引...原创 2019-11-24 13:56:50 · 977 阅读 · 0 评论 -
go语言学习笔记fmt标准化格式输出
package main import "fmt" type Point struct { x, y int } func main() { // 一般情况下 var x int = 5 fmt.Printf("%v\n", x) // 相应值的默认格式 5 fmt.Printf("%#v\n", x) // 相应值的Go语法表示 5 fmt.Printf("%T\n", x)...原创 2019-09-26 18:18:11 · 367 阅读 · 0 评论