首頁 > 後端開發 > Golang > 如何在 Go 中使用 Gorilla/Mux 提取 URL 路徑參數?

如何在 Go 中使用 Gorilla/Mux 提取 URL 路徑參數?

Patricia Arquette
發布: 2024-10-24 08:52:30
原創
997 人瀏覽過

How to Extract URL Path Parameters Using Gorilla/Mux in Go?

在 Go 中讀取 URL 路徑參數

您正在 Go 中開發一個需要處理特定 URL 路徑的 Web 應用程式。特別是,您想要讀取並顯示格式為 example.com/person/(any_name) 的 URL 路徑的一部分,其中 (any_name) 表示變數參數。

為了實現此目的,gorilla/強烈建議使用 mux 套件進行路由處理。

使用 gorilla/mux

gorilla/mux 套件是一個強大的 Go 路由器。它提供了一種簡單的方法來定義和管理路由,包括從 URL 捕獲參數的能力。

以下是如何使用gorilla/mux 讀取和列印(any_name) 參數:

<code class="go">package main

import (
    "fmt"
    "log"
    "net/http"

    "github.com/gorilla/mux"
)

func PersonHandler(w http.ResponseWriter, r *http.Request) {
    vars := mux.Vars(r)
    name := vars["name"]
    fmt.Fprintf(w, "Hello, %s!", name)
}

func main() {
    r := mux.NewRouter()
    r.HandleFunc("/person/{name}", PersonHandler).Methods(http.MethodGet)

    if err := http.ListenAndServe(":8080", r); err != nil {
        log.Fatal(err)
    }
}</code>
登入後複製

在此腳本中,我們:

  1. 導入必要的包,包括gorilla/mux。
  2. 定義一個處理函數 PersonH​​andler,它將處理對 /person/ 的請求{name} 路徑。
  3. 使用 gorilla/mux 的 Vars 函數從請求中提取 {name} 參數。
  4. 將捕獲的參數值(人名)寫入回應寫入器。
  5. 向路由器註冊路由,指定 HTTP 方法為 GET。
  6. 在連接埠 8080 上啟動 Web 伺服器並監聽傳入請求。

當有請求時存取 example.com/person/John 時,將呼叫 PersonH​​andler 函數,並將參數名稱設為 John。然後函數將列印「Hello, John!」回應。

以上是如何在 Go 中使用 Gorilla/Mux 提取 URL 路徑參數?的詳細內容。更多資訊請關注PHP中文網其他相關文章!

來源:php
本網站聲明
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn
作者最新文章
熱門教學
更多>
最新下載
更多>
網站特效
網站源碼
網站素材
前端模板