golang语言资源
golang golang
Lastmod: 2020-09-20

大爱golang,这是最近一段时间的学习和资源的收集汇总。温故而知新!

Keep It Simple and Stupid!

语言基础

为什么应该学习go语言

为什么应该学习go语言 从很多层面分析了为什么应该学习go语言

老外总结的为什么最喜欢go语言

为什么Go是我最喜欢的语言

中文译文

这个老外的编程经验非常丰富,包括Python, Ruby, C++, CHICKEN Scheme, Emacs Lisp, Rust, Java ,Lua, PHP, Erlang and Haskell。真心牛掰,估计年龄也不小了。从2009年就开始使用Go语言了。

资料

Go at Google: Language Design in the Service of Software Engineering

学习golang系列

Effective Go

Google的go语言代码review规范

release - go各个版本的release信息

golang官方包维护人员信息

书籍

«The Go Programming Language» - go语言圣经

«Go程序设计语言» - 中文版

Go 1.x兼容性

go 1.x兼容性说明 go 1.x的兼容性是源代码级别的,不是二进制级别的。正确的理解是,代码在 go 1.x的不同版本中是兼容的。但是二进制包不一定。 当升级了go1.x的版本,最好将所有包重新编译一遍。

原文:

Compatibility is at the source level. Binary compatibility for compiled packages is not guaranteed between releases. After a point release, Go source will need to be recompiled to link against the new release.

生产环境实践

Go: Best Practices for Production Environments - SoundCloud的Go生产环境实践

基于Go构建滴滴核心业务平台的实践

知乎社区核心业务 Golang 化实践

今日头条Go建千亿级微服务的实践

GC

Golang’s Real-time GC in Theory and Practice 浙大有个学生翻译了中文版:Go实时GC——三色算法理论与实践

go gc - LINE团队的一篇文章, 比较肤浅

Go模块化

go vendor目录说明 - vendor目录是在1.6正式引入的

理解和使用vendor目录 -

Go模块化官方文档 - Go模块化的官方文档

Go模块化介绍 - 非常好的入门教程,非常有实操性

Go模块代理 - 模块代理可以类比于java的maven,PHP的toran proxy。 Go的开源模块代理:

Go的动态链接库

Shared library in Go? - 讨论go的动态链接库

Go Execution Modes - go的执行模式 - 还未研究过

Writing Modular Go Programs with Plugins - 讲解Go动态链接库的非常好的文章

Go错误处理

Error handling in Upspin - Go语言作者之一Rob Pike自己的一个go的开源软件Upspin的错误处理方式

Go 中如何准确地判断和识别各种网络错误

Go的context包

golang官方博客讲解 文章中的例子:

  • server
  • userip
  • google.go 注意例子中对context的使用,google.go中还有闭包的使用,也注意一下

Context propagation over HTTP in Go - 怎么通过http传递context

微服务

go-kit

演讲/ppt

简单即复杂 - go语言的一个创始人的演讲

开源库

pkg - 很多有用的库,包括很有名的错误处理库

readline - 类似GNU-Readline,用于开发交互式命令行

cobra - 命令行开发模式

基准测试

Go 基准测试

性能

使用 pprof 和火焰图调试 golang 应用

Go可视化性能分析工具

持续集成

building a ci system for go with jenkins

不错的blog

bradfitz.com - 大牛啊,memcached的作者,现在一直在google写go,是net/http的维护者,膜拜!

飞雪无情的博客 - 中文,不错

行思錄 | Travel Coder - 架构师

apocelipes - 中文, 有一些golang抓取数据和使用golang开发qt gui程序的东西

dave.cheney.net - 专注golang和k8s,也是github.com/pkg的一个贡献者

roberto.selbach.ca - 里面详细介绍了怎么使用GOPROXY,搭建一个自己的代码仓库

pusher的技术博客,很多golang的实践 - pusher应该是一个做app push的服务?