Golang : Pat multiplexer routing example
This is a short tutorial on how to use Pat multiplexer - a Sinatra style pattern muxer for Go's net/http library.
First :
>go get github.com/bmizerany/pat
before running the code below
package main
import (
"fmt"
"github.com/bmizerany/pat"
"net/http"
)
func SayHelloWorld(w http.ResponseWriter, r *http.Request) {
w.Write([]byte("Hello, World!"))
}
func ReplyNamePat(w http.ResponseWriter, r *http.Request) {
parameters := r.URL.Query()
name := parameters.Get(":name")
w.Write([]byte(fmt.Sprintf("Hello %s !", name)))
}
func main() {
mx := pat.New()
mx.Get("/", http.HandlerFunc(SayHelloWorld))
mx.Get("/:name", http.HandlerFunc(ReplyNamePat))
http.Handle("/", mx)
http.ListenAndServe(":8080", nil)
}
Sample output :
http://localhost:8080/Adam
Hello Adam !
http://localhost:8080/
Hello, World!
See also : Golang : Gorilla mux routing example
By Adam Ng
IF you gain some knowledge or the information here solved your programming problem. Please consider donating to the less fortunate or some charities that you like. Apart from donation, planting trees, volunteering or reducing your carbon footprint will be great too.
Advertisement
Tutorials
+7.4k Golang : Test if an input is an Armstrong number example
+18.1k Golang : Set, Get and List environment variables
+6.9k Golang : Example of custom handler for Gorilla's Path usage.
+5.8k Golang : Get Hokkien(福建话)/Min-nan(閩南語) Pronounciations
+11.4k Golang : Find and draw contours with OpenCV example
+12.9k Golang : Count number of runes in string
+5.5k PHP : Get client IP address
+50.2k Golang : Disable security check for HTTPS(SSL) with bad or expired certificate
+5.4k Golang : Error handling methods
+13.4k Golang : Gin framework accept query string by post request example
+23.6k Golang : Find biggest/largest number in array
+10.1k Golang : Allow Cross-Origin Resource Sharing request