CGI with the Go Programming Language

Following with the GO standard library exploration, I’ve written a toy example for using the CGI features. Native GoLang CGI web applications are very fast and can be useful for example in embedded systems, or in cheap web hosting where is not possible to run custom HTTP servers. The solution has some weak points, starting from lock management, but is only presented as a proof of concept and not for real use cases. ...

October 29, 2015 · Andrea Manzini

sample template usage in the Go Programming Language

The GO programming language has a nice and useful standard library, which includes a powerful templating engine out of the box. Here I wrote an example, generating HTML output from a simple data structure. 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 35 36 37 38 39 40 package main import ( "html/template" "log" "os" ) func main() { page := ` <!DOCTYPE html> <html><head><title>my todo list</title></head> <body><h1>my TODO list</h1> <ul> {{ range $item := . }} <li> {{ $item.Priority }} {{ $item.Topic }} </li> {{ end }} </ul> </body></html> ` type Todo struct { Priority int Topic string } var todos = []Todo{ {1, "Take out the dog"}, {2, "Feed the cat"}, {3, "Learn GO programming"}, } t := template.Must(template.New("page").Parse(page)) err := t.Execute(os.Stdout, todos) if err != nil { log.Println("executing template:", err) } } This program generates the following HTML output: ...

September 30, 2015 · Andrea Manzini