gpt4 book ai didi

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

转载 作者:IT王子 更新时间:2023-10-29 01:19:30 28 4
gpt4 key购买 nike

在 Go 中,假设我有这个结构:

type Job struct {
totalTime int
timeToCompletion int
}

然后我初始化一个结构对象,例如:

j := Job {totalTime : 10, timeToCompletion : 10}

其中的约束是 timeToCompletion 在创建结构时始终等于 totalTime(稍后可以更改)。有没有一种方法可以在 Go 中实现这一点,这样我就不必初始化这两个字段?

最佳答案

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

func NewJob(time int) Job {
return Job{totalTime: time, timeToCompletion: time}
}

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

j := NewJob(10)

关于struct - 将结构字段的初始值设置为 Go 中另一个结构字段的初始值,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/34565202/

28 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com