Go语言基础(三) | 青训营笔记

83 阅读2分钟

这是我参与「第五届青训营 」伴学笔记创作活动的第 3 天

一、本堂课重点内容

本堂课的知识要点有哪些?

image.png

  1. 高质量编程

    -  高质量编程简介
    -  编码规范
    -  性能优化建议
    
  2. 性能调优实战

    -  性能调优
    -  性能分析工具 pprof实战
    -  性能调优案例
    

二、详细知识点介绍

本堂课介绍了哪些知识点?

1. 高质量编程

高质量编程简介

编程原则
 - 简单性
 - 可读性
 - 生产力

编码规范

 - 代码格式  gofmt
 - 注释
 - 命名规范
 - 控制流程
 - 错误和异常处理

性能优化建议

  • 简介

    - 性能优化的前提是满足正确可靠,简洁清晰等质量因素
    - 性能优化是综合评估,有时候时间效率和空间效率可能对立
    - 针对Go语言特性,介绍Go相关的性能优化建议
    
  • Benchmark

    • go test -bench=. -benchmem
  • Slice

    • slice 预分配内存
    • 另一个陷阱:大内存未释放
  • Map

    • map 预分配内存
  • 字符串处理

    • 使用string.Builder
  • 空结构体

    • 使用空结构体节省内存
  • atomic包

  • 小结

      - 避免常见的性能陷阱可以保证大部分程序的性能
      - 普通应用代码,不要一味地追求程序的性能
      - 越高级的性能优化手段越容易出现问题
      - 在满足正确可靠、简洁清晰的质量要求的前提下提高程序性能       
    

2. 性能调优实战

性能调优原则

  • 要依靠数据不是猜测
  • 要定位最大瓶颈而不是细枝末节
  • 不要过早和过度优化

性能分析工具 pprof实战

  • pprof功能简洁 image.png

性能调优案例

实践准备 (必须)

推荐阅读

三、引用参考