/images/hugo/avatar.png

Go 语句与控制结构

今天我们开始深入学习,Go 语言语法的基础: 语句、控制结构。

1. 表达式的求值顺序

Go语言支持在同一行声明和初始化多个变量(不同类型也可以),也支持在同一行对多个变量进行赋值

Go 声明、类型与初始化

今天我们开始深入学习,Go 语言语法的基础: Go 声明、类型、初始化。

1. 变量声明

Go语言沿袭了静态编译型语言的传统:使用变量之前需要先进行变量的声明。Go语言有两类变量。

Go 语言进阶开篇

1. Go 语言进阶

前面 Go语言入门中我们学习了 Go 语言的基础语法和使用。算起来已经看过好几本 Go 的书籍了,但始终感觉"不得其法",比如一直不明白reflect 库是如何实现 Go 语言变量自省的、Go 实现的http 服务底层有没有使用IO多路复用等等。直到今年双十一囤了《Go 语言精进之路》系列的两本书,花了一个月时间快速了看了一遍,收获真的很大。我感觉对于每个像我这样普通的程序员,学习一门语言总需要找到这样一本书,看完就感觉有种豁然开朗的感觉。所以这个系列我们来学习 《Go 语言精进之路》,作为 Go 语言的进阶。整个内容分成以下几个大的部分:

Go Work Pool

我们在 Go 第四部分 Go 并发系列的 sync.Poolchannel 提到了很多用于 Go 协程池的第三方库,今天我们就来详细介绍它们的使用和实现。

1. worker 池

我们的第一个示例来自Marcio Castilho 在 使用 Go 每分钟处理百万请求 这篇文章中,就介绍了他们应对大并发请求的设计。这不是一个库,但是 worker pool 的实现很具有代表性:

go 对象池化

我们在 Go 第四部分 Go 并发系列的 sync.Pool 提到了很多用于对象池化的第三方库,今天我们就来详细看看其中提到的对象池化库的使用和实现。

1. buffer 池化

2. TCP 连接池

3. 数据库连接池

4. Memcached Client 连接池