Rumah  >  Artikel  >  pembangunan bahagian belakang  >  Pembangunan bahagian belakang: Panduan permulaan dan kes praktikal

Pembangunan bahagian belakang: Panduan permulaan dan kes praktikal

WBOY
WBOYasal
2024-04-08 18:21:011039semak imbas

Bermula dengan pembangunan bahagian belakang Go: Pasang dan sediakan persekitaran bahasa Go. Tulis perkhidmatan backend pertama anda, tentukan fungsi untuk mengendalikan permintaan dan mulakan pelayan HTTP. Sepadukan dengan pangkalan data MySQL untuk mencipta model, menyambung ke pangkalan data dan melaksanakan pertanyaan.

Pembangunan bahagian belakang: Panduan permulaan dan kes praktikal

Pembangunan Go Backend: Panduan Bermula dan Contoh Praktikal

Pengenalan

Go ialah bahasa pengaturcaraan moden berprestasi tinggi yang sesuai untuk pembangunan bahagian belakang. Ia menyediakan sokongan yang jelas untuk konkurensi, menjadikannya mudah untuk membangunkan aplikasi berdaya tinggi dan berskala. Artikel ini akan membimbing anda untuk memulakan pembangunan bahagian belakang Go dan menyediakan kes praktikal untuk memperdalam pemahaman anda.

Pemasangan dan persediaan

  • Muat turun dan pasang bahasa Go (https://go.dev/dl/)
  • Tetapkan pembolehubah persekitaran GOPATH untuk menghala ke direktori ruang kerja
  • Gunakan versi go Sahkan pemasangan <code>go version 验证安装

编写你的第一个后端服务

使用任何文本编辑器创建文件 main.go

package main

import (
    "fmt"
    "net/http"
)

func main() {
    // 定义一个处理请求的函数
    http.HandleFunc("/", func(w http.ResponseWriter, r *http.Request) {
        fmt.Fprintf(w, "Hello, Go!")
    })

    // 启动 HTTP 服务器
    http.ListenAndServe(":8080", nil)
}
  • package main 定义程序的入口点
  • import 语句导入所需库
  • main 函数定义程序的执行逻辑
  • http.HandleFunc 注册一个 HTTP 路由,将 / 路径映射到处理函数
  • http.ListenAndServe 启动服务器,侦听端口 8080

运行你的应用程序

  • 使用 go run main.go 运行应用程序
  • 在浏览器中导航到 http://localhost:8080,你将看到 "Hello, Go!"

MySQL 集成

为了开发更实际的应用程序,集成了数据库。以下是使用 gorm 连接和查询 MySQL 数据库的步骤:

  • 创建 app.go 文件:
package main

import (
    "fmt"
    "time"

    "github.com/jinzhu/gorm"
    _ "github.com/jinzhu/gorm/dialects/mysql"
)

type User struct {
    ID        uint       `gorm:"primary_key"`
    Username  string     `gorm:"size:255;not null"`
    Password  string     `gorm:"size:255;not null"`
    CreatedAt time.Time  `gorm:"default:current_timestamp"`
    UpdatedAt time.Time  `gorm:"default:current_timestamp"`
    DeletedAt *time.Time `sql:"index"`
}

func main() {
    // 连接到 MySQL 数据库
    db, err := gorm.Open("mysql", "root:root@tcp(127.0.0.1:3306)/go_dev")
    if err != nil {
        panic(err)
    }
    defer db.Close()

    // 自动迁移 User 模型
    db.AutoMigrate(&User{})

    // 创建一个新用户
    user := User{Username: "testuser", Password: "password"}
    db.Create(&user)

    // 按 ID 查询用户
    var queriedUser User
    if err := db.First(&queriedUser, user.ID).Error; err != nil {
        panic(err)
    }

    // 打印查询到的用户名
    fmt.Println(queriedUser.Username)
}
  • type User 定义 User 模型
  • main
  • Tulis perkhidmatan backend pertama anda
Gunakan mana-mana editor teks untuk mencipta fail main.go: 🎜rrreee🎜🎜pakej utama code> mentakrifkan titik masuk program🎜🎜 import pernyataan mengimport perpustakaan yang diperlukan🎜🎜 utama fungsi mentakrifkan logik pelaksanaan program🎜🎜http.HandleFunc Daftar laluan HTTP dan petakan laluan / ke fungsi pengendali🎜🎜http.ListenAndServe Mulakan pelayan dan dengar pada port 8080🎜🎜🎜🎜Jalankan aplikasi Anda 🎜🎜🎜🎜 Jalankan aplikasi anda menggunakan go run main.go 🎜🎜 Navigasi ke http://localhost:8080 dalam penyemak imbas anda dan anda akan melihat kepada "Hello, Go!"🎜🎜🎜🎜MySQL integration🎜🎜🎜Untuk membangunkan lebih banyak aplikasi praktikal, pangkalan data disepadukan. Berikut ialah langkah untuk menggunakan gorm untuk menyambung dan menanyakan pangkalan data MySQL: 🎜🎜🎜Buat fail app.go: 🎜🎜rrreee🎜🎜taip Pengguna definisi Model pengguna🎜🎜Dalam fungsi utama, wujudkan sambungan MySQL dan pindahkan model Pengguna secara automatik🎜🎜Buat pengguna baharu dan masukkannya ke dalam pangkalan data🎜🎜Soal pengguna melalui ID dan cetak nama pengguna🎜🎜

Atas ialah kandungan terperinci Pembangunan bahagian belakang: Panduan permulaan dan kes praktikal. 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