Cara membina aplikasi web di Golang

PHPz
Lepaskan: 2023-04-13 09:58:11
asal
819 orang telah melayarinya

Dengan kemunculan Internet dan era digital, permintaan untuk pembangunan Web semakin tinggi dan semakin banyak bahasa pembangunan Web. Golang ialah bahasa pengaturcaraan yang dipandang tinggi kerana prestasi unggul dan kebolehskalaannya. Go juga merupakan bahasa pembangunan web yang digunakan secara meluas, dan keupayaannya membolehkan pembangun membina aplikasi web yang berkuasa dengan cepat. Artikel ini akan memperkenalkan cara membina aplikasi web di Golang dan memberikan beberapa petua dan cadangan praktikal.

  1. Pasang Golang

Mula-mula, anda perlu memasang Golang pada komputer setempat anda. Versi Golang untuk sistem pengendalian tertentu boleh dimuat turun dari laman web rasmi golang.org. Setelah pemasangan selesai, anda boleh mula membuat aplikasi web menggunakan Golang.

  1. Memulakan aplikasi web

Mencipta aplikasi web menggunakan Golang biasanya memerlukan permulaan projek. Anda boleh menggunakan arahan mod go untuk memulakan. Pergi ke direktori akar projek dalam antara muka baris arahan dan masukkan arahan berikut:

go mod init example.com/hello
Salin selepas log masuk

Ini akan mencipta fail go.mod dengan nama projek dan senarai kebergantungan. Kemudian, buat fail bernama main.go dan editnya dengan kod berikut:

package main

import (
    "fmt"
    "net/http"
)

func hello(w http.ResponseWriter, r *http.Request) {
    fmt.Fprintf(w, "Hello Golang!")
}

func main() {
    http.HandleFunc("/", hello)
    http.ListenAndServe(":8080", nil)
}
Salin selepas log masuk

Kod di atas memulakan pelayan HTTP dan mengeluarkan "Hello Golang" apabila dilancarkan dalam pelayar. Di sini, fungsi http.HandleFunc() boleh memadankan permintaan HTTP dengan pengendali HTTP yang sepadan.

  1. Permintaan penghalaan

Untuk melaksanakan aplikasi web yang lebih kompleks, permintaan HTTP tertentu perlu dihalakan berdasarkan URL. Ini boleh dicapai menggunakan pakej mux Golang. Pakej mux membolehkan anda menghalakan permintaan HTTP kepada pengendali yang betul untuk menjana respons yang diingini.

Pasang pakej mux:

go get -u github.com/gorilla/mux
Salin selepas log masuk

Gunakan pakej mux untuk mencipta laluan Kod sampel adalah seperti berikut:

package main

import (
    "fmt"
    "net/http"

    "github.com/gorilla/mux"
)

func hello(w http.ResponseWriter, r *http.Request) {
    fmt.Fprintf(w, "Hello Golang!")
}

func main() {
    router := mux.NewRouter()
    router.HandleFunc("/", hello)

    http.ListenAndServe(":8080", router)
}
Salin selepas log masuk

Di sini, kami menggunakan. pakej gorila/mux Halakan permintaan kepada pengendali yang sepadan. Contohnya, untuk memadankan permintaan GET, gunakan router.HandleFunc("/", hello).Methods("GET").

  1. Mengendalikan Fail Statik

Aplikasi web selalunya memerlukan penggunaan pelbagai fail statik, seperti CSS, JavaScript dan imej. Di Golang, fail statik ini boleh diproses menggunakan fungsi http.FileServer(). Kod sampel adalah seperti berikut:

package main

import (
    "fmt"
    "net/http"

    "github.com/gorilla/mux"
)

func hello(w http.ResponseWriter, r *http.Request) {
    fmt.Fprintf(w, "Hello Golang!")
}

func main() {
    router := mux.NewRouter()
    router.HandleFunc("/", hello)

    // Serve static files
    router.PathPrefix("/static/").Handler(http.StripPrefix("/static/", http.FileServer(http.Dir("./static/"))))

    http.ListenAndServe(":8080", router)
}
Salin selepas log masuk

Dalam contoh ini, fungsi http.FileServer() menerima laluan direktori sebagai parameter, yang biasanya mengandungi fail CSS, JavaScript dan imej yang diperlukan untuk menyimpan statik fail. Fungsi 'http.StripPrefix()' digunakan untuk mengalih keluar awalan daripada laluan.

  1. Menggunakan templat

Untuk menjana halaman web dinamik, anda juga boleh menggunakan pakej html/templat Golang. Dengan pakej ini anda boleh menggunakan enjin templat untuk menjana halaman web dinamik. Kod sampel adalah seperti berikut:

package main

import (
    "html/template"
    "net/http"

    "github.com/gorilla/mux"
)

type Welcome struct {
    Name string
}

func home(w http.ResponseWriter, r *http.Request) {
    welcome := Welcome{"Gopher"}

    t, err := template.ParseFiles("templates/home.html")
    if err != nil {
        http.Error(w, err.Error(), http.StatusInternalServerError)
    }

    t.Execute(w, welcome)
}

func main() {
    router := mux.NewRouter()
    router.HandleFunc("/", home)

    http.Handle("/", router)
    http.Handle("/static/", http.StripPrefix("/static/", http.FileServer(http.Dir("./static/"))))

    http.ListenAndServe(":8080", nil)
}
Salin selepas log masuk

Dalam contoh ini, kami telah menggunakan pakej 'html/template' untuk menjana halaman web dinamik. Gunakan fungsi 'template.ParseFiles()' untuk menghuraikan fail templat dan fungsi 't.Execute()' untuk melaksanakan fail templat untuk menjana output HTML.

Ringkasan

Artikel ini memperkenalkan cara membina aplikasi web di Golang, termasuk memulakan aplikasi web, permintaan penghalaan, memproses fail statik dan menggunakan templat. Golang ialah bahasa pengaturcaraan yang berkuasa dan berskala untuk membina aplikasi web berprestasi tinggi dengan cepat. Pembaca yang ingin mengetahui lebih lanjut tentang pengaturcaraan Golang boleh merujuk dokumentasi rasmi Golang dan banyak tutorial yang sangat baik.

Atas ialah kandungan terperinci Cara membina aplikasi web di Golang. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

sumber:php.cn
Kenyataan Laman Web ini
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
Tutorial Popular
Lagi>
Muat turun terkini
Lagi>
kesan web
Kod sumber laman web
Bahan laman web
Templat hujung hadapan