Повторное использование объектной переменной при использовании gorm - PullRequest
0 голосов
/ 31 марта 2020

Я пытаюсь повторно использовать переменную borderSwitches, но единственный способ добиться этого - повторно инициализировать ее в последнем предложении if, есть ли более элегантный способ достижения этого?

borderTable := &databasemodel.borderTable{}
err = tx.First(borderSwitches, &databasemodel.borderTable{BaseModel: databasemodel.BaseModel{UUID: lagPair.borderTable}})
if err != nil {
    return nil, errors.Errorf("Fetching border switch by UUID: %v", err)
}

if !borderTable.FirstBorderSwitchID.Valid {
    borderTableFirstID := borderSwitches.ID
    borderTable = &databasemodel.borderTable{}
    err = tx.First(borderSwitches, &databasemodel.borderTable{FirstBorderTableID: sql.NullInt64{Int64: borderTableFirstID, Valid: true}})
    if err != nil {
        return nil, errors.Errorf("Fetching border table by DB ID: %v", err)
    }
}

fmt.Println("borderTable: %v\n", borderTable)
...