如何在Go in function中遵循DRY原则?

时间:2016-08-23 18:33:22

标签: go dry

我有这个函数来查找满足谓词的第一个帐户。

func findAccount(accounts []Account, f func(Account) bool) (*Account, error) {
    for _, account := range accounts {
        if f(account) {
            return &account, nil
        }
    }
    return nil, ErrNoSuchAccount
}

和另一个函数来查找满足谓词的第一个Team。

func findTeam(teams []Team, f func(Team) bool) (*Team, error) {
    for _, team := range teams {
        if f(team) {
            return &team, nil
        }
    }
    return nil, ErrNoSuchTeam
}

要干,我想知道它们是否可以合并,因为例程的大多数行是相同的。

0 个答案:

没有答案