Maison > développement back-end > Golang > le corps du texte

Comment utiliser le langage Go pour écrire le module de gestion des comptes utilisateurs dans le système de cuisine en porte-à-porte ?

WBOY
Libérer: 2023-11-01 14:10:50
original
828 Les gens l'ont consulté

Comment utiliser le langage Go pour écrire le module de gestion des comptes utilisateurs dans le système de cuisine en porte-à-porte ?

Comment utiliser le langage Go pour écrire le module de gestion des comptes utilisateurs dans le système de cuisine en porte-à-porte ?

Dans la vie moderne et trépidante, de plus en plus de personnes choisissent de résoudre leurs problèmes alimentaires grâce à des services de cuisine à domicile. Pour ce prestataire de services, un système de gestion de compte utilisateur complet et solide est très important. Cet article présentera comment utiliser le langage Go pour écrire un module de gestion de compte utilisateur, visant à aider les fournisseurs de services de cuisine à domicile à mieux gérer les informations de compte des utilisateurs et fournira des exemples de code spécifiques.

1. Créez une table de base de données

Tout d'abord, vous devez créer une table de compte utilisateur pour stocker les informations de compte de l'utilisateur. Les données peuvent être stockées à l'aide de bases de données relationnelles (telles que MySQL, PostgreSQL, etc.) ou de bases de données non relationnelles (telles que MongoDB).

Dans MySQL, vous pouvez utiliser l'instruction SQL suivante pour créer une table de compte utilisateur :

CREATE TABLE user (
    id INT PRIMARY KEY AUTO_INCREMENT,
    username VARCHAR(50) NOT NULL,
    password VARCHAR(100) NOT NULL,
    email VARCHAR(100) NOT NULL
);
Copier après la connexion

2. Écrire le code Go

Ensuite, nous utilisons le langage Go pour écrire le code d'un module de gestion de compte utilisateur. Tout d'abord, vous devez introduire les packages nécessaires :

package main

import (
    "database/sql"
    "fmt"

    _ "github.com/go-sql-driver/mysql"
)
Copier après la connexion

Ensuite, définissez une structure pour représenter le compte utilisateur :

type User struct {
    ID       int
    Username string
    Password string
    Email    string
}
Copier après la connexion

Ensuite, écrivez quelques fonctions pour implémenter des fonctions spécifiques :

  1. Connectez-vous à la fonction de base de données :
func connectDB() (*sql.DB, error) {
    db, err := sql.Open("mysql", "username:password@tcp(host:port)/database")
    if err != nil {
        return nil, err
    }
    return db, nil
}
Copier après la connexion
  1. Créer une fonction de compte utilisateur :
func createUser(user User) error {
    db, err := connectDB()
    if err != nil {
        return err
    }
    defer db.Close()

    _, err = db.Exec("INSERT INTO user (username, password, email) VALUES (?, ?, ?)",
        user.Username, user.Password, user.Email)
    if err != nil {
        return err
    }
    return nil
}
Copier après la connexion
  1. Fonction de requête de compte utilisateur en fonction du nom d'utilisateur :
func getUserByUsername(username string) (User, error) {
    db, err := connectDB()
    if err != nil {
        return User{}, err
    }
    defer db.Close()

    var user User
    err = db.QueryRow("SELECT id, username, password, email FROM user WHERE username = ?", username).
        Scan(&user.ID, &user.Username, &user.Password, &user.Email)
    if err != nil {
        return User{}, err
    }
    return user, nil
}
Copier après la connexion
  1. Fonction de mise à jour du compte utilisateur :
func updateUser(user User) error {
    db, err := connectDB()
    if err != nil {
        return err
    }
    defer db.Close()

    _, err = db.Exec("UPDATE user SET username = ?, password = ?, email = ? WHERE id = ?",
        user.Username, user.Password, user.Email, user.ID)
    if err != nil {
        return err
    }
    return nil
}
Copier après la connexion
  1. Fonction de suppression de compte utilisateur :
func deleteUser(id int) error {
    db, err := connectDB()
    if err != nil {
        return err
    }
    defer db.Close()

    _, err = db.Exec("DELETE FROM user WHERE id = ?", id)
    if err != nil {
        return err
    }
    return nil
}
Copier après la connexion

3. Code de test

Enfin, vous pouvez écrire quelques codes de test pour vérifier l'exactitude de ces fonctions :

func main() {
    // 创建用户账户
    user := User{
        Username: "john",
        Password: "123456",
        Email:    "john@example.com",
    }
    err := createUser(user)
    if err != nil {
        fmt.Println(err)
        return
    }

    // 根据用户名查询用户账户
    retrievedUser, err := getUserByUsername("john")
    if err != nil {
        fmt.Println(err)
        return
    }
    fmt.Println(retrievedUser)

    // 更新用户账户
    retrievedUser.Username = "john2"
    err = updateUser(retrievedUser)
    if err != nil {
        fmt.Println(err)
        return
    }

    // 删除用户账户
    err = deleteUser(retrievedUser.ID)
    if err != nil {
        fmt.Println(err)
        return
    }
}
Copier après la connexion

Ce qui précède sont les étapes détaillées et des exemples de codes spécifiques pour utiliser le langage Go pour écrire le module de gestion de compte utilisateur dans le système de cuisson porte-à-porte. . En mettant en œuvre ce module, les prestataires de services de cuisine à domicile peuvent mieux gérer les informations de compte des utilisateurs et offrir une meilleure expérience utilisateur. J'espère que cet article vous aidera !

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!

source:php.cn
Déclaration de ce site Web
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
Tutoriels populaires
Plus>
Derniers téléchargements
Plus>
effets Web
Code source du site Web
Matériel du site Web
Modèle frontal
À propos de nous Clause de non-responsabilité Sitemap
Site Web PHP chinois:Formation PHP en ligne sur le bien-être public,Aidez les apprenants PHP à grandir rapidement!