Golang学习汇总
九月离少
越努力/越优秀/越独立/越自由。
展开
-
snowflake雪花算法初识
snowflake算法所生成的ID结构是什么样子呢?我们来看看下图: SnowFlake所生成的ID一共分成四部分: 1.第一位 占用1bit,其值始终是0,没有实际作用。 2.时间戳 占用41bit,精确到毫秒,总共可以容纳约69 年的时间。 3.工作机器id 占用10bit,其中高位5bit是数据中心ID(datacenterId),低位5bit是工作节点ID(workerId),做多可以容纳1024个节点。 4.序列号 占用12bit,这个值在同一毫秒同一节点上从0开始不断累加,最多可以累加到409原创 2020-08-21 10:37:20 · 686 阅读 · 0 评论 -
Go语言通道(chan)
goroutine之间通信的管道——如果说 goroutine 是 Go语言程序的并发体的话,那么 channels 就是它们之间的通信机制。一个 channels 是一个通信机制,它可以让一个 goroutine 通过它给另一个 goroutine 发送值信息。原创 2020-08-20 16:00:37 · 446 阅读 · 0 评论 -
Go语言实现Web服务器
Go语言里面提供了一个完善的 net/http 包,通过 net/http 包我们可以很方便的搭建一个可以运行的 Web 服务器。同时使用 net/http 包能很简单地对 Web 的路由,静态文件,模版,cookie 等数据进行设置和操作。 Web服务器的工作方式 我们平时浏览网页的时候,会打开浏览器,然后输入网址后就可以显示出想要浏览的内容。这个看似简单的过程背后却隐藏了非常复杂的操作。 对于普通的上网过程,系统其实是这样做的: 浏览器本身是一个客户端,当在浏览器中输入 URL (网址)的时候,首先浏览转载 2020-08-20 15:36:08 · 727 阅读 · 0 评论