Go 性能优化
1. 性能基准测试
性能基准测试在Go语言中是和普通的单元测试一样被原生支持的。我们可以像对普通单元测试那样在*_test.go文件中创建性能基准测试,每个以Benchmark前缀开头的函数都会被当作一个独立的性能基准测试:
性能基准测试在Go语言中是和普通的单元测试一样被原生支持的。我们可以像对普通单元测试那样在*_test.go文件中创建性能基准测试,每个以Benchmark前缀开头的函数都会被当作一个独立的性能基准测试:
本部分将详细介绍Go在单元测试、性能测试的最佳实践方案。
Go语言在工具链和标准库中提供对测试的原生支持。在Go中测试代码与包代码放在同一个包目录下,并且Go要求所有测试代码都存放在以*_test.go结尾的文件中。go test将所有包目录下的*_test.go文件编译成一个临时二进制文件(可以通过go test -c显式编译出该文件),并执行该文件,后者将执行各个测试源文件中名字格式为TestXxx的函数所代表的测试用例并输出测试执行结果。
今天我们开始深入学习,Go 语言的并发编程,将详细介绍Go基本执行单元——goroutine的调度原理、Go并发模型以及常见并发模式、Go支持并发的原生类型——channel的惯用使用模式等内容。
今天我们开始深入学习,Go 语言的函数、方法和接口
Go 语言里函数是"一等公民",简单来讲函数可以像变量值那样被赋值给变量、作为参数传递、作为返回值返回和在函数内部创建等。概念我们就不过介绍,我们把关注在放在 Go 语言函数的一些典型应用上。
今天我们开始深入学习,Go 语言的包,包括包的构建和导入过程。
在介绍 Go 包相关的知识之前,我们先来简单了解一下Go程序的构建过程。
今天我们开始深入学习,Go 语言语法的复合数据类型: slice、map、string
学习 slice 之前,我们先来一下 Go 语言中的数组。
Go语言数组是一个固定长度的、容纳同构类型元素的连续序列,因此Go数组类型具有两个属性:元素类型和数组长度。这两个属性都相同的数组类型是等价的。所以下面三个数组都属于不同类型