So erstellen Sie eine Singleton-DB-Instanz
In diesem Szenario möchten wir eine Singleton-DB-Instanz mit expliziten Methoden erstellen, um Boilerplate-Code zu vermeiden . Der bereitgestellte Code deklariert eine Schnittstelle, DBOperations, die die erforderlichen Methoden beschreibt. DBManager kapselt die Datenbankverbindung und stellt diese Methoden bereit. Wenn Sie jedoch beabsichtigen, diese Methoden in der Singleton-Referenz aufzurufen, sind Änderungen erforderlich.
Lösung:
Verwenden Sie den folgenden Ansatz:
Durch die Implementierung dieser Schritte können Sie eine Singleton-DB-Instanz erstellen mit zugänglichen Methoden ohne die Notwendigkeit einer expliziten Synchronisierung.
Ausnahmen von gorm.Create() abfangen und zurückgeben
Um Ausnahmen von gorm.Create() abzufangen und zurückzugeben, Ändern Sie die AddArticle-Methode im Manager wie folgt:
<code class="go">func (mgr *manager) AddArticle(article *article.Article) (err error) { if err := mgr.db.Create(article).Error; err != nil { return err } return nil }</code>
Dadurch können Sie das Fehlerobjekt direkt zurückgeben und so die Fehlerbehandlung im aufrufenden Code aktivieren.
Das obige ist der detaillierte Inhalt vonWie erstelle ich eine Singleton-DB-Instanz mit zugänglichen Methoden in Go?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!