**感谢分享**。 <br>
根据Duck Type的含义:“if it looks like a duck and quacks like a duck, it’s a duck”。
<br>如何实现这个“look like”,靠的是interface。
<br>如果一个struct实现了一个interface,那么可以将这个struct传递到这个interface的形参 <br>
换言之,将一个struct赋值给一个interface,则表示其实现了这个interface的功能。
补充一条。
go test文件中,还可以增加benchmark用例。
差别在于:benchmark用例必须以Benchmark开头,且在运行时一定要加-bench参数,例如:
go test -bench=.
go test只会运行Test开头的用例。
TestMain(m *testing.M) 是一个总管初始化入口,可以将数据库,网络等一些初始化操作放置到这里。
Benchmark测试用例需要保证其执行能在一个稳态上,否则可能b.N为了适应变化,不断调整N值,导致无法运行完成。
最近的评论