1.6 Go微服务实战(Go语言基础) --- 包和代码测试

本文深入探讨了Go语言的基础,包括包的使用和代码测试实践,旨在帮助开发者更好地理解和应用Go进行后端微服务开发。
摘要由CSDN通过智能技术生成
第6章 包和代码测试 
6.1 包及Go工具 
	6.1.1 包导入 
	6.1.2 Go工具 

6.2 代码优化 
	6.2.1 Go代码的优化 
		代码的优化要基于Go语言的语法和编译器原理进行。代码的优化关键是性能分析。

		Go语言提供了 runtime/pprof 标准库。 go tool pprof --help

	6.2.2 性能分析 
		常见原因:
			1.cpu占有率高,高负荷运转,要找到是执行哪个函数时出现这种情况的;
			2.goroutime在死锁状态,没有运行,但是占用了资源;
			3.垃圾回收占用时间

		针对这些情况,可以收集cpu的执行数据,pprof会不停采样,然后找出高度占用cpu的函数,在生成.prof文件后,可以通过
	go tool pprof 文件进行分析。

		在 runtime/pprof 包内提供了如下主要的接口:
		//堆栈分析,可以分析内存的使用情况
		func WriteHeapProfile(w io.Writer) error
		
		//CPU分析
		func StartCPUProfile(w io.Writer) error
		func StopCPUProfile()

		go tool pprof -svg 图片

6.3 测试 
	Go语言提供了三种测试函数:功能测试函数、基准测试函数、示例测试。

	6.3.1 功能测试函数 
		功能测试函数是以 Test 为前缀命名的函数,其主要作用是检测函数程序逻辑正确性,运行go test后,结果会以 PASS(通过),
	或者FAIL(不通过)进行报告。

		func TestXxx(t *testing.T) {
			...
		}

	6.3.2 基准测试函数 
		go test -bench=.

		func BenchmarkXxx(b *testing.B) {
			...
		}
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值