小编soz*_*ami的帖子

Go-解决接口切片问题的惯用方式

我有一个WorkDay结构,用于保存有关某人工作时间的数据,一个WorkWeek结构,用于存储一堆工作日,以及一个WorkMonth结构,其用于存储一堆WorkWeek。想法是让每个人返回该时间段内的总工作时间。

type WorkDay struct {
    StartTime time.Time
    EndTime   time.Time
}

type WorkWeek struct {
    WorkDays []WorkDay
}

type WorkMonth struct {
    WorkWeeks []WorkWeek
}

func (w WorkDay) HoursWorked() time.Duration {
    // Find hours worked through simple subtraction.
}

func (w WorkWeek) HoursWorked() time.Duration {
    var totalHours time.Duration
    for _, day := range w.WorkDays {
        totalHours += day.HoursWorked()
    }
    return totalHours
}

func (w WorkMonth) HoursWorked() time.Duration {
    var totalHours time.Duration
    for _, week := range w.WorkWeeks {
        totalHours += week.HoursWorked() …
Run Code Online (Sandbox Code Playgroud)

go

5
推荐指数
1
解决办法
129
查看次数

标签 统计

go ×1