Rumah > Artikel > pembangunan bahagian belakang > Bagaimana untuk menggunakan bahasa Go untuk menulis modul maklum balas pengguna dalam sistem memasak dari pintu ke pintu?
Bagaimana menggunakan bahasa Go untuk menulis modul maklum balas pengguna dalam sistem memasak dari pintu ke pintu?
Dengan peningkatan perkhidmatan bawa pulang dan pintu ke pintu, semakin ramai pengguna memilih untuk menikmati makanan yang lazat di rumah. Untuk perkhidmatan memasak dari pintu ke pintu, maklum balas pengguna amat penting, yang boleh membantu meningkatkan kualiti perkhidmatan dan kepuasan pengguna. Artikel ini akan memperkenalkan cara menggunakan bahasa Go untuk menulis modul maklum balas pengguna dalam sistem memasak dari pintu ke pintu dan memberikan contoh kod khusus.
Pertama sekali, kita perlu mereka pangkalan data untuk menyimpan maklumat maklum balas pengguna. Katakan kita mempunyai jadual bernama maklum balas, yang mengandungi medan berikut: id (kunci utama auto-naik), userId (ID pengguna), kandungan (kandungan maklum balas), createTime (masa penciptaan).
Gunakan pernyataan SQL berikut untuk mencipta jadual maklum balas:
CIPTA maklum balas JADUAL (
id INT AUTO_INCREMENT PRIMARY KEY, userId INT NOT NULL, content TEXT NOT NULL, createTime TIMESTAMP DEFAULT CURRENT_TIMESTAMP
);
#🎜🎜 #🎜🎜 #buildGo persekitaran bahasaBuat sambungan pangkalan data
"database/sql" "fmt" _ "github.com/go-sql-driver/mysql")func ConnectDB() (*sql ConnectDB() (*sql ) {
db, err := sql.Open("mysql", "root:password@tcp(127.0.0.1:3306)/feedback") if err != nil { return nil, fmt.Errorf("failed to connect to database: %v", err) } err = db.Ping() if err != nil { return nil, fmt.Errorf("failed to ping database: %v", err) } return db, nil}Ganti "root:password" dengan nama pengguna dan kata laluan pangkalan data anda, dan "maklum balas" dengan nama pangkalan data yang anda buat.
Buat model maklum balas
import (
"database/sql" "fmt" "time"
)
type Feedback struct {
ID int UserID int Content string CreateTime time.Time🎜🎜#
func InsertFeedback(db
sql.DB, maklum balasFeedback) ralat {
rreee}#🎜
🎜🎜🎜🎜sql.DB) ([]Maklum Balas, ralat) {
stmt, err := db.Prepare("INSERT INTO feedback(userId, content) VALUES(?, ?)") if err != nil { return fmt.Errorf("failed to prepare insert statement: %v", err) } defer stmt.Close() _, err = stmt.Exec(feedback.UserID, feedback.Content) if err != nil { return fmt.Errorf("failed to execute insert statement: %v", err) } return nil}Struktur Maklum Balas ditakrifkan di sini untuk mewakili maklumat Maklum Balas dan menyediakan kaedah untuk memasukkan maklum balas baharu dan mendapatkan semua maklum balas.
Buat antara muka HTTP
Buat fail bernama main.go dalam direktori akar projek dan tambah kod berikut: #🎜 🎜 #pakej utama
rows, err := db.Query("SELECT * FROM feedback") if err != nil { return nil, fmt.Errorf("failed to execute query: %v", err) } defer rows.Close() feedbacks := make([]*Feedback, 0) for rows.Next() { feedback := &Feedback{} err := rows.Scan(&feedback.ID, &feedback.UserID, &feedback.Content, &feedback.CreateTime) if err != nil { return nil, fmt.Errorf("failed to scan feedback: %v", err) } feedbacks = append(feedbacks, feedback) } return feedbacks, nil
func main() {
"encoding/json" "log" "net/http"Antara muka HTTP bernama /maklum balas dicipta di sini, yang menyokong kaedah GET untuk mendapatkan semua maklumat maklum balas dan kaedah POST untuk memasukkan maklumat maklum balas baharu.
Mulakan perkhidmatan
Jalankan arahan berikut dalam baris arahan untuk memulakan perkhidmatan: go run main .go Kini, anda boleh menggunakan Posmen atau pelanggan HTTP lain untuk menghantar permintaan GET dan POST untuk menguji modul maklum balas pengguna sistem memasak dari pintu ke pintu anda.Atas ialah kandungan terperinci Bagaimana untuk menggunakan bahasa Go untuk menulis modul maklum balas pengguna dalam sistem memasak dari pintu ke pintu?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!