This post is a solution to the "Adam doesn't know routing" problem on Debugg. Visit Debugg at https://debugg.me
What we need here is a simple web server and one route, the /
or "root" route, let's say.
There's a built-in package called net/http
that can help us here. Open the main.go
file, and import the package.
// main.go package main import "net/http" func main() { }
The official documentation of the package shows an example for the function ListenAndServe
, which is just what we need.
// main.go ... func main() { http.ListenAndServe(":8080", nil) }
which will start an http server on port 8080. Now we need to return "Hello, world!" on the root route. For this we use a HandleFunc
and pass it the route path and the handler function.
// main.go ... func helloHandler(w http.ResponseWriter, _ *http.Request) {} func main() { http.HandleFunc("/", helloHandler) http.ListenAndServe(":8080", nil) }
to return "Hello, World!", we invoke io.WriteString
by passing in the ResponseWriter
instance and "Hello, World!".
The final file looks as follows
package main import ( "io" "log" "net/http" ) func helloHandler(w http.ResponseWriter, _ *http.Request) { io.WriteString(w, "Hello, World!") } func main() { http.HandleFunc("/", helloHandler) log.Fatal(http.ListenAndServe(":8080", nil)) }
Visit Debugg at https://debugg.me
Top comments (0)