Golang
文章平均质量分 92
咸糖
这个作者很懒,什么都没留下…
展开
-
Golang: 让你的零值更有用
Make the zero value useful. –Go Proverbs 让我们从 Golang blog 开始吧: The zero value 当内存被分配来存储一个值时,无论是通过声明还是调用 make 或 new ,并且没有提供明确的初始化,内存被赋予一个默认的初始化。这种值的每个元素都被设置为其类型的零值(zero value):布尔值为 false,整数为 0,浮点数为0.0,字符串为 "" ,指针、函数、接口、slice、channel 和 map 为 nil。...原创 2022-01-16 21:14:20 · 311 阅读 · 0 评论 -
使用 Mock 和 Interface 进行 Golang 单测
在工作中我经常会发现很多工程师的 Golang 单测是写的有问题的,只是单纯的调用代码做输出,并且会包含各种 IO 操作,导致单测无法到处运行。 本文将介绍 Golang 中如何正确的做单测。什么是单元测试?单元测试的特点单元测试是质量保证十分重要的一环,好的单元测试不仅能及时地发现问题,更能够方便地调试,提高生产效率,所以很多人认为写单元测试是需要额外的时间,会降低生产效率,是对单元测试最大的偏见和误解。单测会将对应测试的模块隔离出来进行测试,所以我们要尽可能把所有相关的外部依赖都移除,只对相关的模块进.原创 2022-01-08 18:43:54 · 1063 阅读 · 0 评论 -
关于 Golang Slice 的一些细节
在 Golang 中,有两种数据类型: 一种是限定长度的数组,叫做 Array,另外一种是不限定长度的数组,叫做 Slice。 区分 Array 和 Slice Array 和 Slice 的区别在于: Array 是限定长度的,并且 Array 的长度是类型的一部分,因此 Array 的长度不能改变,而 Slice 可以改变长度。 Slice 是不限定长度的,可以使用 make 函数来创建。 foo = make([]int, 5) 并且 Slice 只是一个数据结构,内部有一个指针,指向...原创 2021-12-22 14:24:59 · 258 阅读 · 0 评论