Comment utiliser le langage Go pour écrire le module de gestion des favoris des utilisateurs dans le système de cuisson porte-à-porte ?
En tant que langage de programmation rapidement populaire, le langage Go fonctionne bien dans le domaine du développement Web. Cet article explique comment utiliser le langage Go pour écrire le module de gestion des favoris des utilisateurs dans le système de cuisson porte-à-porte et fournit des exemples de code spécifiques.
Tout d'abord, nous devons concevoir le modèle de base de données des favoris des utilisateurs. En supposant que les utilisateurs peuvent collecter plusieurs plats, nous pouvons concevoir deux tables : la table des utilisateurs et la table des favoris.
La table utilisateur peut contenir les champs suivants :
Tableau des favoris Peut contenir les champs suivants :
En langage Go, nous pouvons utiliser des bibliothèques tierces telles que Gorm pour faire fonctionner la base de données. Tout d’abord, vous devez configurer une connexion à la base de données et créer des tables associées.
package main import ( "github.com/jinzhu/gorm" _ "github.com/jinzhu/gorm/dialects/mysql" ) var db *gorm.DB func init() { // 创建数据库连接 var err error db, err = gorm.Open("mysql", "username:password@tcp(localhost:3306)/database?charset=utf8mb4&parseTime=True&loc=Local") if err != nil { panic(err) } // 创建相关表 db.AutoMigrate(&User{}, &Favorite{}) } func main() { defer db.Close() // 进行其他操作 }
En langage Go, nous devons définir des modèles pour mapper les tables de base de données. Voici les définitions des modèles Utilisateur et Favoris.
type User struct { ID uint `gorm:"primary_key"` Username string `gorm:"unique"` Password string CreatedAt time.Time UpdatedAt time.Time } type Favorite struct { ID uint `gorm:"primary_key"` UserID uint DishID uint CreatedAt time.Time UpdatedAt time.Time User User Dish Dish }
Afin de réaliser la fonction de gestion des favoris, nous pouvons définir certaines interfaces associées, telles que l'ajout de favoris, la suppression de favoris, l'obtention de la liste des favoris des utilisateurs, etc.
// 添加收藏夹 func AddFavorite(userID uint, dishID uint) error { favorite := Favorite{ UserID: userID, DishID: dishID, CreatedAt: time.Now(), UpdatedAt: time.Now(), } err := db.Create(&favorite).Error if err != nil { return err } return nil } // 删除收藏夹 func DeleteFavorite(userID uint, dishID uint) error { err := db.Where("user_id = ? AND dish_id = ?", userID, dishID).Delete(&Favorite{}).Error if err != nil { return err } return nil } // 获取用户收藏夹列表 func GetFavoriteList(userID uint) ([]Favorite, error) { var favorites []Favorite err := db.Where("user_id = ?", userID).Find(&favorites).Error if err != nil { return nil, err } return favorites, nil }
L'exemple de code ci-dessus peut implémenter les fonctions d'ajout, de suppression et d'obtention des favoris des utilisateurs.
Pour résumer, cet article présente comment utiliser le langage Go pour écrire le module de gestion des favoris des utilisateurs dans le système de cuisson porte-à-porte. En définissant le modèle de base de données, en créant des connexions à la base de données et en implémentant les fonctions correspondantes, nous pouvons facilement gérer les favoris des utilisateurs. J'espère que cet article pourra vous aider, et bonne programmation !
Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!