1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 | 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)