Rumah  >  Artikel  >  pembangunan bahagian belakang  >  Bagaimana untuk menggunakan bahasa Go untuk menulis modul penyuntingan maklumat peribadi pengguna dalam sistem memasak dari pintu ke pintu?

Bagaimana untuk menggunakan bahasa Go untuk menulis modul penyuntingan maklumat peribadi pengguna dalam sistem memasak dari pintu ke pintu?

王林
王林asal
2023-11-01 10:28:50627semak imbas

Bagaimana untuk menggunakan bahasa Go untuk menulis modul penyuntingan maklumat peribadi pengguna dalam sistem memasak dari pintu ke pintu?

Bagaimana menggunakan bahasa Go untuk menulis modul penyuntingan maklumat peribadi pengguna dalam sistem memasak dari pintu ke pintu?

Dengan perkembangan Internet, banyak perkhidmatan tradisional telah mula berubah dalam talian. Antaranya, perkhidmatan memasak dari rumah ke rumah semakin popular. Dalam perkhidmatan sedemikian, pengurusan maklumat peribadi pengguna adalah amat penting. Artikel ini akan memperkenalkan cara menggunakan bahasa Go untuk menulis modul penyuntingan maklumat peribadi pengguna dalam sistem memasak dari pintu ke pintu dan memberikan contoh kod khusus.

1. Sediakan persekitaran pembangunan
Pertama, kita perlu menyediakan persekitaran pembangunan untuk bahasa Go. Anda boleh memuat turun pakej pemasangan yang sepadan dengan sistem pengendalian dari laman web rasmi Go (https://golang.org/) dan memasangnya mengikut arahan.

2. Cipta struktur projek
Selepas persekitaran pembangunan disediakan, kita boleh mula mencipta projek. Jalankan arahan berikut dalam baris arahan untuk mencipta struktur folder projek:

$ mkdir user-info-edit
$ cd user-info-edit
$ mkdir controllers models router utils
$ touch main.go

3. Tulis kod model
Buat fail bernama user.go dalam folder model untuk menentukan model maklumat pengguna. Edit dan isikan kod berikut:

package models

type User struct {
    ID       uint   `json:"id,omitempty"`
    Name     string `json:"name,omitempty"`
    Age      int    `json:"age,omitempty"`
    Address  string `json:"address,omitempty"`
    Email    string `json:"email,omitempty"`
    Password string `json:"password,omitempty"`
}

4. Tulis kod pengawal
Buat fail bernama user_controller.go di bawah folder pengawal untuk melaksanakan pengawal operasi maklumat pengguna. Edit dan isikan kod berikut:

package controllers

import (
    "encoding/json"
    "fmt"
    "net/http"

    "user-info-edit/models"
    "user-info-edit/utils"
)

func UpdateUserInfo(w http.ResponseWriter, r *http.Request) {
    user := models.User{}

    err := json.NewDecoder(r.Body).Decode(&user)
    if err != nil {
        utils.RespondWithError(w, http.StatusBadRequest, "Invalid request payload")
        return
    }

    // 在这里实现具体的用户信息编辑逻辑,比如更新数据库记录等

    utils.RespondWithJSON(w, http.StatusOK, user)
}

5. Tulis kod penghalaan
Buat fail bernama router.go di bawah folder penghala untuk melaksanakan fungsi penghalaan. Edit dan isikan kod berikut:

package router

import (
    "net/http"

    "user-info-edit/controllers"
)

func Init() {
    http.HandleFunc("/api/edit", controllers.UpdateUserInfo)
}

6. Tulis kod fungsi tambahan
Buat fail bernama utils.go dalam folder utils untuk mentakrifkan beberapa fungsi tambahan. Edit dan isikan kod berikut:

package utils

import "net/http"

func RespondWithError(w http.ResponseWriter, code int, message string) {
    RespondWithJSON(w, code, map[string]string{"error": message})
}

func RespondWithJSON(w http.ResponseWriter, code int, payload interface{}) {
    response, _ := json.Marshal(payload)

    w.Header().Set("Content-Type", "application/json")
    w.WriteHeader(code)
    w.Write(response)
}

7. Tulis kod fungsi utama
Edit dan isi kandungan fail main.go seperti berikut:

package main

import (
    "log"
    "net/http"

    "user-info-edit/router"
)

func main() {
    router.Init()

    log.Fatal(http.ListenAndServe(":8080", nil))
}

8. Mulakan perkhidmatan
Jalankan arahan berikut dalam arahan talian untuk memulakan perkhidmatan:

$ go run main.go

Perkhidmatan Selepas permulaan berjaya, anda boleh mengedit maklumat peribadi pengguna dengan mengakses http://localhost:8080/api/edit.

Ringkasan:
Melalui langkah di atas, kami telah berjaya menulis modul penyuntingan maklumat peribadi pengguna dalam sistem memasak dari pintu ke pintu menggunakan bahasa Go dan menyediakan contoh kod khusus. Pembangun boleh membuat sambungan dan pengubahsuaian yang sesuai berdasarkan keperluan khusus untuk memenuhi keperluan perniagaan sebenar. Pada masa yang sama, contoh ini juga menunjukkan kesederhanaan dan kecekapan bahasa Go dalam pembangunan web.

Atas ialah kandungan terperinci Bagaimana untuk menggunakan bahasa Go untuk menulis modul penyuntingan maklumat peribadi pengguna dalam sistem memasak dari pintu ke pintu?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

Kenyataan:
Kandungan artikel ini disumbangkan secara sukarela oleh netizen, dan hak cipta adalah milik pengarang asal. Laman web ini tidak memikul tanggungjawab undang-undang yang sepadan. Jika anda menemui sebarang kandungan yang disyaki plagiarisme atau pelanggaran, sila hubungi admin@php.cn