检查结构的多个属性的更惯用的方法是什么?

Ral*_*alf 2 go

假设我有以下结构:

type myType struct {
    Qid, Interval, RoundNumber string
}
Run Code Online (Sandbox Code Playgroud)

我必须确保myType类型的变量没有任何属性的空字符串值.

如果出现以下情况,是否存在比执行以下操作更惯用的方式:

if aMyType.Qid == "" || aMyType.Interval == "" || aMyType.RoundNumber == "" {
  // handle error situation
}
Run Code Online (Sandbox Code Playgroud)

显然,如果有效,但我想知道Go是否有更好的方法?

Jim*_*zuk 8

您可以定义一个函数myType,以便更容易确定有效性:

func (m myType) Valid() bool {
    return m.Qid != "" && m.Interval != "" && m.RoundNumber != ""
}
Run Code Online (Sandbox Code Playgroud)

然后:

if aMyType.Valid() {
    // ...
}
Run Code Online (Sandbox Code Playgroud)