简介: 高质量编程原则: 简单性:消除“多余的复杂性”,以简单清晰的逻辑编写代码 不理解的代码无法修复改进 可读性:代码是写给人看的,而不是机器 不理解的代码无法修复改进 生产力:团队整体工作效率非常重要 编码规范:
- 代码格式: Go语言官方提供了一个工具
gofmt,它能自动格式化Go语言代码为官方统一风格 - 注释: Go提供C风格的
/* */块注释和C ++风格的//行注释。行注释是常态;块注释主要显示为包注释,但在表达式中很有用或禁用大量代码 - 命名规范: Go在命名时以字母a到Z或a到Z或下划线开头,后面跟着零或更多的字母、下划线和数字 (0到9)。Go不允许在命名时中使用@、$和%等标点符号。Go是一种区分大小写的编程语言。因此,Manpower和manpower是两个不同的命名
- 控制流程: Go语言中有几种控制流程结构,包括
if、for、switch和select等。 - 错误和异常处理: Go语言中有一个内置的
error类型来处理错误。通常情况下,函数会返回一个error类型的值来表示是否发生了错误。如果返回的error值为nil,则表示没有错误;否则表示发生了错误。 性能优化指南: 使用Go语言提供的支持基准性能测试的benchmark工具 go test -bench=. -benchmem slice与分配内存 func PreAlloc(int size){ data := make([]int, 0, size) for k := 0; k < size; k ++{ data = append(data,k) } } 同理使用Map预分配内存 使用strings.Bulider,strings.Buffer 使用空结构体节省内存 使用atomic包 性能优化分析工具:pprof pprof是Go语言中用于分析程序性能的一个工具,它能够帮助开发人员收集程序运行时的性能数据,包括CPU使用情况、内存使用情况、协程阻塞情况等。pprof工具提供了丰富的功能,可以帮助开发人员快速定位程序中的性能瓶颈,并进行针对性的优化。此外,pprof工具还支持实践应用,可以通过采样过程和原理来分析程序运行时的性能数据,为开发人员提供更加详细和准确的性能分析结果。 pprof工具采用了一种称为“采样”的技术来收集程序运行时的性能数据。在采样过程中,pprof工具会定期对程序进行快照,记录下当前程序运行时的状态信息。这些状态信息包括CPU使用情况、内存使用情况、协程阻塞情况等。通过对这些快照数据进行分析,pprof工具能够帮助开发人员快速定位程序中的性能瓶颈,并进行针对性的优化。