Maison > Article > développement back-end > Explication détaillée de la fonction de panier d'achat dans le système de commande de nourriture développé avec le langage Go
Explication détaillée de la fonction de panier d'achat dans le système de commande de nourriture développé avec le langage Go
Introduction :
Avec le développement en plein essor du commerce électronique, le système de commande de nourriture est devenu un élément important de l'industrie de la restauration. La fonction panier fait partie intégrante du système de commande. Cet article présentera en détail comment implémenter la fonction de panier d'achat lors du développement d'un système de commande de nourriture utilisant le langage Go, et donnera des exemples de code spécifiques.
1. Idées de conception pour la fonction de panier :
La mise en œuvre de la fonction de panier doit prendre en compte les aspects suivants : ajout, suppression, modification de la quantité et calcul du montant total des produits. Afin de réaliser ces fonctions, nous pouvons utiliser des structures et des tranches pour créer des objets de panier.
2. Définition de la structure du panier :
Tout d'abord, nous définissons une structure contenant des informations sur le produit pour stocker chaque produit dans le panier.
type Item struct {
Name string Price float64 Quantity int
}
Ensuite, nous définissons la structure du panier et utilisons une tranche pour enregistrer tous les articles du panier.
type Cart struct {
Items []Item
}
3. Implémentation spécifique de la fonction panier :
func (c *Cart) AddItem(item Item) {
c.Items = append(c.Items, item)
}
func (c *Cart) RemoveItem(name string) {
for i, item := range c.Items { if item.Name == name { c.Items = append(c.Items[:i], c.Items[i+1:]...) break } }
}
func (c *Cart) UpdateQuantity(name string,Quantity int) {
for i, item := range c.Items { if item.Name == name { c.Items[i].Quantity = quantity break } }
}
func (c *Cart) CalculateTotal() float64 {
var total float64 for _, item := range c.Items { total += item.Price * float64(item.Quantity) } return total
}
IV. Exemple de code :
Voici l'exemple de code complet pour la fonction de panier :
package main
import (
"fmt"
)
tapez Item struct {
Name string Price float64 Quantity int
}
type Cart struct {
Items []Item
}
func (c *Cart) AddItem(item Item) {
c.Items = append(c.Items, item)
}
func (c *Cart) RemoveItem(name string) {
for i, item := range c.Items { if item.Name == name { c.Items = append(c.Items[:i], c.Items[i+1:]...) break } }
}
func (c *Cart) UpdateQuantity(nom chaîne, quantité int) {
for i, item := range c.Items { if item.Name == name { c.Items[i].Quantity = quantity break } }
}
func (c *Cart) CalculateTotal() float64 {
var total float64 for _, item := range c.Items { total += item.Price * float64(item.Quantity) } return total
}
func main( ) {
cart := Cart{} cart.AddItem(Item{Name: "苹果", Price: 5.5, Quantity: 2}) cart.AddItem(Item{Name: "香蕉", Price: 3.2, Quantity: 3}) cart.AddItem(Item{Name: "橙子", Price: 4.8, Quantity: 1}) fmt.Println("购物车中的商品:") for _, item := range cart.Items { fmt.Printf("商品名称:%s,价格:%.2f,数量:%d
", article.Nom, article.Prix, article.Quantité)
} cart.RemoveItem("苹果") fmt.Println("删除商品后购物车中的商品:") for _, item := range cart.Items { fmt.Printf("商品名称:%s,价格:%.2f,数量:%d
", article.Nom, article.Prix, article.Quantité)
} cart.UpdateQuantity("香蕉", 5) fmt.Println("修改商品数量后购物车中的商品:") for _, item := range cart.Items { fmt.Printf("商品名称:%s,价格:%.2f,数量:%d
", article.Nom, article.Prix, article .Quantité)
} total := cart.CalculateTotal() fmt.Printf("购物车的总计金额为:%.2f
", total)
}
Résumé :
La fonction panier est un élément essentiel du système de commande. En utilisant le langage Go pour développer la fonction de panier d'achat, nous pouvons l'implémenter à travers des structures et des tranches. L'exemple de code ci-dessus montre la mise en œuvre et l'utilisation spécifiques du panier, notamment l'ajout, la suppression, la modification de la quantité d'articles et le calcul du montant total. En concevant et en mettant en œuvre correctement la fonction de panier d'achat, nous pouvons offrir aux utilisateurs du système de commande une expérience plus pratique et plus efficace.
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!