Maison >développement back-end >Golang >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

PHPz
PHPzoriginal
2023-11-01 09:33:351173parcourir

Explication détaillée de la fonction de panier dachat 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 :

  1. Fonction Ajouter un produit :
    Chaque produit dans le panier contient le nom, le prix et la quantité du produit. Nous pouvons fournir une méthode AddItem pour ajouter des articles au panier.

func (c *Cart) AddItem(item Item) {

c.Items = append(c.Items, item)

}

  1. Fonction de suppression de produit :
    Pour les produits dans le panier, nous pouvons les supprimer en fonction du nom du produit. Nous fournissons une méthode RemoveItem pour supprimer les articles portant un nom spécifié du panier.

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
    }
}

}

  1. Fonction de modification de la quantité d'articles :
    Nous pouvons fournir une méthode UpdateQuantity pour modifier la quantité d'articles spécifiés dans le panier.

func (c *Cart) UpdateQuantity(name string,Quantity int) {

for i, item := range c.Items {
    if item.Name == name {
        c.Items[i].Quantity = quantity
        break
    }
}

}

  1. Fonction de calcul du montant total :
    Le montant total des articles dans le panier est la somme des montants de tous les articles . Nous pouvons fournir une méthode pour calculer le montant total de tous les articles du panier.

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!

Déclaration:
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn