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
+13.9k Golang : Activate web camera and broadcast out base64 encoded images
+19.1k Golang : Read input from console line
+7.1k Golang : Find the shortest line of text example
+8.1k Golang : How to feed or take banana with Gorilla Web Toolkit Session package
+11.1k Golang : Get UDP client IP address and differentiate clients by port number
+14.3k Javascript : Prompt confirmation before exit
+13k Golang : Listen and Serve on sub domain example
+12.6k Golang : Extract part of string with regular expression
+28k PHP : Convert(cast) string to bigInt
+4.5k Golang : Valued expressions and functions example
+27.4k Golang : Find files by name - cross platform example
+30.4k Golang : How to declare kilobyte, megabyte, gigabyte, terabyte and so on?