Go langage développement du système de cuisson porte-à-porte : Comment implémenter la fonction de recherche de plat ?
Introduction :
Avec la popularité des services à emporter et en porte-à-porte, de plus en plus de personnes choisissent de déguster de délicieux plats à la maison. En réponse à cette demande, le système de cuisson porte-à-porte est né. Lors du développement d’un tel système, la mise en œuvre de la fonction de recherche de paraboles constitue un élément très important. Cet article utilisera le langage Go comme exemple pour présenter en détail comment implémenter une fonction de recherche de plat et fournir des exemples de code correspondants.
1. Analyse des exigences :
Avant de mettre en œuvre la fonction de recherche de plats, nous devons d'abord clarifier les exigences et les fonctions du système. Dans le système de cuisson porte-à-porte, les utilisateurs doivent rechercher les plats qui leur conviennent en fonction du nom du plat, des ingrédients, du goût et d'autres conditions. Par conséquent, notre fonction de recherche de plat doit répondre aux exigences suivantes :
2. Conception de la base de données :
Afin de mettre en œuvre la fonction de recherche de plats, nous devons concevoir une structure de base de données appropriée. Dans cet exemple, nous utilisons la base de données MySQL et créons une table nommée « plats » pour stocker les informations sur les plats. La structure du tableau est la suivante :
CREATE TABLE dishes ( id INT PRIMARY KEY AUTO_INCREMENT, name VARCHAR(100) NOT NULL, ingredients VARCHAR(200) NOT NULL, taste VARCHAR(50) NOT NULL );
3. Implémentation du code :
Après avoir compris les exigences et la structure de la base de données, nous pouvons commencer à implémenter la fonction de recherche de plats. Ce qui suit est un exemple de code simple en langage Go pour montrer comment implémenter la fonction de recherche de plat :
package main import ( "database/sql" "fmt" "log" "strings" _ "github.com/go-sql-driver/mysql" ) type Dish struct { ID int `json:"id"` Name string `json:"name"` Ingredients string `json:"ingredients"` Taste string `json:"taste"` } func main() { // 连接数据库 db, err := sql.Open("mysql", "用户名:密码@tcp(localhost:3306)/数据库名") if err != nil { log.Fatal(err) } defer db.Close() // 搜索菜品 results, err := searchDish(db, "宫保鸡丁", "", "") if err != nil { log.Fatal(err) } // 打印搜索结果 for _, dish := range results { fmt.Printf("ID: %d, 菜名: %s, 食材: %s, 口味: %s ", dish.ID, dish.Name, dish.Ingredients, dish.Taste) } } func searchDish(db *sql.DB, name, ingredients, taste string) ([]Dish, error) { query := "SELECT * FROM dishes WHERE 1=1" // 构建查询条件 if name != "" { query += fmt.Sprintf(" AND name LIKE '%s'", "%"+name+"%") } if ingredients != "" { query += fmt.Sprintf(" AND ingredients LIKE '%s'", "%"+ingredients+"%") } if taste != "" { query += fmt.Sprintf(" AND taste = '%s'", taste) } // 执行查询 rows, err := db.Query(query) if err != nil { return nil, err } defer rows.Close() // 解析查询结果 var results []Dish for rows.Next() { var dish Dish err := rows.Scan(&dish.ID, &dish.Name, &dish.Ingredients, &dish.Taste) if err != nil { return nil, err } results = append(results, dish) } return results, nil }
Dans le code ci-dessus, nous utilisons d'abord la fonction database/sql
和github.com/go-sql-driver/mysql
包来连接MySQL数据库。然后,我们实现了一个searchDish
pour effectuer une recherche de plat. Dans cette fonction, nous construisons une instruction de requête SQL dynamique basée sur l'entrée de l'utilisateur et exécutons l'opération de requête. Enfin, nous imprimons les informations sur la parabole obtenues en parcourant les résultats de la requête.
4. Résumé :
Grâce aux exemples de code et aux instructions ci-dessus, nous comprenons comment utiliser le langage Go pour implémenter la fonction de recherche de plats. Grâce à une analyse raisonnable de la demande et à la conception d’une base de données, combinées à la mise en œuvre de codes, nous pouvons créer un système de cuisson porte-à-porte entièrement fonctionnel. J'espère que cet article pourra être utile à tout le monde dans la mise en œuvre de la fonction de recherche de plats dans le développement du langage Go.
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!