为了账号安全,请及时绑定邮箱和手机立即绑定

在go中,如何为没有任何参数的类型创建构造函数

在go中,如何为没有任何参数的类型创建构造函数

Go
肥皂起泡泡 2021-06-17 18:14:53
鉴于这种类型type Response map[string]interface{}我创建了一个方法 NewResponse 来填充默认值: func NewResponse() Response {    resp := Response{"status": 200, "msg": "Added jobs to queue"}    resp_metadata := make(map[string]string)    resp_metadata["base"] = "api/v1"    resp_metadata["self"] = "/crawler/jobs/add"    resp["metadata"] = resp_metadata    return resp}我称之为 likeNewResponse()但我想改为这样做Response.New(),所以方法签名应该是这样的func (Response) New() Response {但后来我总是得到错误not enough arguments in call to Response.New。那么,如何实现呢?
查看完整描述

3 回答

?
江户川乱折腾

TA贡献1851条经验 获得超5个赞

它没有。Go 没有构造函数。创建“空”对象就是创建对象类型的零值

您要做的是在现有的 Response 对象上调用一个名为 New 的 Response 方法,该方法将返回一个(不同的)Response 对象。

resp := Response{}或者resp := make(Response)如果您需要创建一个空的响应也可以。


查看完整回答
反对 回复 2021-06-21
  • 3 回答
  • 0 关注
  • 259 浏览
慕课专栏
更多

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信