GopherJS 可以将 Go 代码编译为纯 JavaScript 代码,其主要目的是能够使用 Go 语言来编写前端代码,并且运行在浏览器之中。 官方 GopherJS 限制使用 Go 1.12 版本...
Go语言中的值类型和引用类型
最本质的区别 值类型:内存中变量存储的是具体的值 比如:var num int num存放的是具体的int值 但是变量在内存中的地址可以通过 &num 来获取 引用类型:变量直接存放的就是一个...

为什么使用 Go 语言?
他们知道我热衷于 Go 语言,但他们想知道为什么我认为其他人也应该关心。本文包含三个我认为 Go 是重要的编程语言的原因。 几个星期前,我一个朋友问我:“为什么要关心 Go 语言”? 因为他们知道...
Go语言学习四——异常处理
程序就像汽车,一旦上路,难免会有各种大大小小的突发情况:路上突然闯出一个行人、没油了、零部件故障甚或剐蹭追尾、车毁人亡。现代的汽车已经针对各种情况作出了不同的预案:鸣笛警示行人、将近没油时进行提示、汽...
Go 每日一库之 message-bus
在一个涉及多模块交互的系统中,如果模块的交互需要手动去调用对方的方法,那么代码的耦合度就太高了。所以产生了异步消息通信。实际上,各种各样的消息队列都是基于异步消息的。不过它们大部分都有着非常复杂的设...
Go语言之IO操作
文件信息 1、FileInfo接口属性 1// A FileInfo describes a file and is returned by Stat and Lstat. 2type FileInf...

异步消息解决方案:Go 每日一库之 watermill
作为学习,message-bus确实不错。但是在实际使用上,message-bus的功能就有点捉襟见肘了。例如,message-bus将消息发送到订阅者管道之后就不管了,这样如果订阅者处理压力较大,...
对 Go GC 所谓的突破提出质疑?看现代垃圾收集策略
我最近看过很多文章,它们以令我困扰的方式推广 Go 语言最新的垃圾收集器。其中一些文章来自 Go 官方项目本身。他们声称这意味着 GC 技术已经有根本性的突破。 这是新版本(Go 1.5)垃圾收集器...

创业公司更适合用 Go 语言
对于创业公司来说,人少资源少、产品又要求快速上线。选择合适的技术栈非常重要,本文就谈谈我们早期选择后端语言时的考量。 流行的后端语言,有 Java/Python/Ruby/PHP 等,首先排除的是 P...
前方有坑:小心 go.mod 中的 go directive
在我的工作环境中,我通常通过变更GOROOT的方式来使用不同的Go版本。但在进行Go 1.14新增的overlapping interface的实验时,我遇到了一个问题。本文记录的就是这个问题的发现和...
115