今天看了《Go 语言中的方法,接口和嵌入类型》所以想对比以前对C/C++相关知识进一步理解golang的接口、指针、参数传递。接口根据《Go 语言中的方法,接口和嵌入类型》的描述可以看出,接口去调用结构体的方法时需要针对接受者的不同去区分,即:
接收者是指针*T时,接口实例必须是指针
接收者是值 T时,接口实力可以是指针也可以是值
接口的定义和类型转换与接收者的定义是关联的
文章中的示例是通过接...
分类:
其他好文 时间:
2015-03-13 16:36:26
阅读次数:
142
Docker容器之间的连接可以带来不少方便,下面记录下如何在自己容器内通过环境变量连接与之连接的Redis容器的方法。先起一个Redis的Docker容器,命名为 redis,再起一个自己的Docker容器,使用"--link redis:redis"方式与redis容器连接。在自己的容器内部,会有...
分类:
编程语言 时间:
2015-03-12 22:03:11
阅读次数:
120
Codis:Redis集群解决方案Codis由四部分组成:CodisProxy(codis-proxy)CodisManager(codis-config)CodisRedis(codis-server)ZooKeeper1.首先安装go语言需安装1.0以及之前的版本https://code.google.com/p/go/wgethttps://storage.googleapis.com/golang/go1.4.2.linux-amd64.tar...
分类:
其他好文 时间:
2015-03-12 15:22:10
阅读次数:
237
atomic是最轻量级的锁,在一些场景下直接使用atomic包还是很有效的。
下面内容摘秒自《GO并发编程实战》—— 原子操作:
CAS操作的优势是,可以在不形成临界区和创建互斥量的情况下完成并发安全的值替换操作。
这可以大大的减少同步对程序性能的损耗。
当然,CAS操作也有劣势。在被操作值被频繁变更的情况下,CAS操作并不那么容易成功。...
分类:
编程语言 时间:
2015-03-11 17:24:03
阅读次数:
276
怎么在go语言中实用google protocol Buffer呢?现在的潮流趋势就是一键搞定,跟ubuntu安装软件一样go get code.google.com/p/goprotobuf/{proto,protoc-gen-go}go install code.google.com/p/gop...
分类:
编程语言 时间:
2015-03-11 16:40:36
阅读次数:
218
试用了下FlatBuffers,把一些东东记录一下。
FlatBuffers 官网: http://google.github.io/flatbuffers/md__go_usage.html
它支持生成Go语言相关的东西,总的使用步骤如下:
1. 定义IDL 接口定义文件,通常命名为.fbs
参考: Writing a schema
http...
分类:
其他好文 时间:
2015-03-11 12:55:13
阅读次数:
189
??Francesc (@francesc) 是 Go 核心团队的一员, 是提倡 Google Cloud 平台的开发者. 他是一个编程语言的爱好者, Google的技术指导大师, Go tour的创造者之一. 这个讨论的灵感来自于另一个 Raquel Vélez 在 JSConf. Slides 的讨论,这个讨论已经发到了这里. Sourcegraph 是下一代编程协作工具, 用于搜索, 探索,...
分类:
编程语言 时间:
2015-03-11 10:49:51
阅读次数:
406
360消息系统RPC基础库迭代引文: 消息系统内部各服务的通信,是依赖于RPC调用串联起来的。RPC框架的易用性,性能,开销决定了整个系统的开发的灵活性,整体性能
和负载上限。因此对于这样一个基础库,硬性要求一定是稳定高效易用的,一旦整个系统使用,除非必要不做影响应用层的修改。
但由于项目在启动时,go语言本身还没有成型的开源方案,先后开发3个版本,才完善成型。 消息系统...
分类:
其他好文 时间:
2015-03-11 07:08:04
阅读次数:
195
一、循环语句循环语句即for语句,您可能说:“不对,它不仅仅是for语句,还有while或者do-while”,真的很遗憾,GO语言真的只有for,它认为提供一种就可以了,提供多了怕给程序员带来麻烦:)下面我们使用for循环计算1+2+3+4+……+100的和,和其它语言一样,我们使用循环100次的..
分类:
编程语言 时间:
2015-03-09 01:53:22
阅读次数:
258