
GO
Nassue_sn
5000年的历史,200年的无奈
展开
-
雪花算法+ZsetScore精度问题
文章背景在微服务和分布式整体环境下,为实现事件/消息等唯一标识并方便业务逻辑跟踪,业内通常会使用Twitter开源的分布式ID生成算法,雪花算法(SnowFlake)。在使用场景中,多次遇到ID有序性和分页获取的需求,针对分页获取需求,为简化实现成本,通常会考虑采用Redis存储结构Zset原生命令ZRANGEBYSCORE完成。具体逻辑实现,使用ID作为Value值和Score值,并通过每次获取的数据最大Value作为下一次分页拉取的最小Score值。实际在使用过程中,在ID生成并发量级较大的场景,分页原创 2020-10-11 17:12:18 · 1652 阅读 · 0 评论 -
Go项目结构推荐
概述随着项目文件的增长,若项目结构凌乱,团队协作开发,将加剧项目凌乱程度,维护或查询信息代价越来越高,因此项目构建初期便构建通用目录结构变得必要参考:https://github.com/golang-standards/project-layout目录推荐Go目录/cmd项目主要应用文件(/cmd/myapps),保持文件与项目生成可执行文件名称相同,通常是较简单的main.go文件...原创 2019-01-31 17:24:52 · 4804 阅读 · 0 评论 -
Go Module实战测试
go modules官方提倡的包管理方式(go 1.11增加),乃至项目管理机制,使用go mod管理项目,将可以绕开GO项目必须放置到GOPATH目录的约束,以下将与大家一起测试实战测试1.新建文件夹$> mkdir test$> cd test2.初始化$> go mod init testgo: creating new go.mod: module te...原创 2019-01-30 16:07:16 · 1602 阅读 · 0 评论 -
Go语法集锦
Go语法集锦(摘自https://github.com/adambard/learnxinyminutes-docs)// 单行注释/* 多行 注释 */// 导入包的子句在每个源文件的开头。// Main比较特殊,它用来声明可执行文件,而不是一个库。package main// Import语句声明了当前文件引用的包。import ( "fmt" /...原创 2019-01-30 16:12:30 · 750 阅读 · 0 评论 -
TOML介绍及试用
TOMLTOML是前Github CEO,Tom Preston-Werner,2013年创建的语言,目标是成为小规模易于使用的语义化配置文件格式,支持无二义性转化为哈希表源码及安装Golang为例地址https://github.com/BurntSushi/toml安装go get github.com/BurntSushi/toml执行实例(摘自以上Golang库)ex...原创 2019-01-30 16:13:45 · 2561 阅读 · 0 评论