NewMiddleWareHandler是否可以省略?

来源:7-12 课程总结(回顾,延伸和优化)

yanrongliang

2019-09-05

请问下面的截图中的代码,是否可以用下面这个方法写,我怎么感觉这个NewMiddleWareHandler这个没必要呢?

m := new(middleWareHandler)

m.r = RegisterHandlers()

图片描述

写回答

1回答

艾文西

2019-09-08

由于golang是没有内置constructor机制的,所以new()在golang有时候可以被当做constructor来使用。但是在这个例子里,我们在创建middleWareHandler的时候,并不是单纯的只是用new给他初始化一个zero value,而是需要带别的初始值进去。因此new在这里是不能满足的,这也是为什么NewXXX这种方式在golang的世界中会比较流行

0
0

Go语言实战流媒体视频网站,高效学习Go高性能开发

从零开始,全面掌握Go语言编码的架构风格和开发Web的关键技能

996 学习 · 268 问题

查看课程