Effective Go

转自:https://golang.org/doc/effective_go.html Effective Go IntroductionExamplesFormattingCommentaryNamesPackage namesGettersInterface namesMixedCapsSemicolonsControl structuresIfRedeclaration and reassignmentForSwitchType switchFunctionsMultiple return...阅读全文

2014-11-27 15:41 leonzhouwei
阅读:16003 评论:0

[golang] 分布式ID生成算法Snowflake

大部分分布式系统中,对一些互斥资源通常需要一个集群唯一的ID,比如消息id,订单号等。而且很多业务需求往往要求这些ID必须具有先后顺序,以方便分页或者排序。这就要求ID具有两个特性: 全局唯一 随时间递增 Snowflake Twitter-Snowflake算法很好的解决了这种需求,它可以非常高效的生成ID,其核心思想如下(图片来自网络): snowflake-64bit.jpg 时间戳。时间戳段位共41位,单位毫秒,可以使用约70年。为了增加剩余可用期限,一般都会把起始日期尽量后移而不是直接...阅读全文

2017.10.19 17:59* king_wang
阅读:4251 评论:1

Go语言之三驾马车

Go是一门面向接口编程的语言,interface的设计自然是重中之重。Go中对于interface设计的巧妙之处就在于空的interface可以被当作“Duck”类型使用,它使得Go这样的静态语言拥有了一定的动态性,却又不损失静态语言在类型安全方面拥有的编译时检查的优势。 从底层实现来看,interface实际上是一个结构体,包含两个成员。其中一个成员指针指向了包含类型信息的区域,可以理解为虚表指针,而另一个则指向具体数据,也就是该interface实际引用的数据。 阅读全文

2017-10-27 00:00 腾讯WeTest
阅读:1212 评论:0

gRPC & Protocol Buffer 构建高性能接口实践

文章介绍了如何使用 gRPC 和 ProtoBuf,快速连接 gRPC 可以参考这篇文章第一段:gRPC quick Start。 接口开发是软件开发占据举足轻重的地位,是现代软件开发之基石。体现在无论是前后端分离的 Web 前端还是移动客户端,乃至基于不同系统、编程语言构建的软件系统之间,API 都是充当桥梁的作用把不同端的系统链接在一起从而形成了一套稳固的商用系统。 基于 Web 的接口通常都是 RESTful API 结合 JSON 在前后端之间传递信息,这种模式比较适合于前后端分离及移动...阅读全文

2017.10.28 18:18* hww_面条酱
阅读:2470 评论:0

goland使用mysql返回存储过程的使用

网上找了很多关于goland使用mysql返回存储过程带返回值的, golandgit上的mysql不支持存储过程在一个exec里面,只能一个exec,另一个query才能取到结果,这样就不能再高并发的情况下保证select取到的结果正确,为此实验了好多方法,最后只有这种方法,具体看图 goland mysql执行存储过程不支持多个返回集,用query在多个返回值的时候回取不到结果集 代码如下: rows, _ := db.Query(fmt.Sprintf("call usp_ac...阅读全文

2017-11-02 14:54:45 bobohume
阅读:2260 评论:0