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

在 Go 中将 struct 字段的初始值设置为另一个字段的初始值

在 Go 中将 struct 字段的初始值设置为另一个字段的初始值

Go
白猪掌柜的 2021-12-06 16:40:07
在 Go 中,假设我有这个结构:type Job struct {    totalTime int    timeToCompletion int}我初始化了一个结构对象,如:j := Job {totalTime : 10, timeToCompletion : 10}其中约束timeToCompletion始终等于totalTime创建结构的时间(它们可以稍后更改)。有没有办法在 Go 中实现这一点,这样我就不必初始化两个字段?
查看完整描述

1 回答

?
白板的微信

TA贡献1883条经验 获得超3个赞

您无法避免必须两次指定该值,但一种惯用的方法是为其创建一个类似构造函数的创建者函数:


func NewJob(time int) Job {

    return Job{totalTime: time, timeToCompletion: time}

}

使用它,您只需在将时间值传递给我们的NewJob()函数时指定一次:


j := NewJob(10)


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

添加回答

举报

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