package main import ( "encoding/json" "log" "net/http" "strconv" ) type Hello struct { Message string `json:"message"` } func HelloServer(w http.ResponseWriter, req *http.Request) { log.Println("Received a request from ", req.RemoteAddr) w.Header().Set("Content-Type", "application/json") if req.Method == "GET" { encoder := json.NewEncoder(w) hello := Hello{"Hello World"} encoder.Encode(hello) } } func main() { port := 8080 // serve static content http.Handle("/", http.FileServer(http.Dir("html"))) http.HandleFunc("/hello/", HelloServer) log.Println("Starting HTTP server at", port) err := http.ListenAndServe(":"+strconv.Itoa(port), nil) if err != nil { log.Fatal("Unable to start the server: ", err) } }
Saturday, May 23, 2015
How to Create a Simple REST Server in Go
Below is an example on how to create a simple REST server in Go.
Tuesday, May 5, 2015
How to Cross Compile Go Programs
If you download the Go binary for a particular platform, most likely that go binary distribution does not come with support for cross-compiling.
cd myapp GOOS=windows GOARCH=amd64 go build go build runtime: windows/amd64 must be bootstrapped using make.bashIn order to add support for cross-compiling in your Go distribution, you need to do the following.
cd $GOROOT/src GOOS=windows GOARCH=amd64 ./make.bash --no-cleanIn this example I am adding cross-compile support to target Windows 64-bit.
cd myapp GOOS=windows GOARCH=amd64 go buildNow you can easily build Windows 64-bit binaries on a Linux.
Subscribe to:
Posts (Atom)