# "First Class Functions in Go"
30 Jun 2011
Tags: codewalk, function, technical
Summary: Programmers new to Go are often surprised by its support for function types, functions as values, and closures. The [First Class Functions in Go](https://golang.org/doc/codewalk/functions/) code walk demonstrates these features with a simulation of the dice game [Pig](http://en.wikipedia.org/wiki/Pig_(dice)). It is a pretty program that uses the language to great effect, and a fun read for Go beginners and veterans alike.

Andrew Gerrand

##

Programmers new to Go are often surprised by its support for function types,
functions as values, and closures.
The [First Class Functions in Go](https://golang.org/doc/codewalk/functions/)
code walk demonstrates these features with a simulation of the dice game
[Pig](http://en.wikipedia.org/wiki/Pig_(dice)).
It is a pretty program that uses the language to great effect,
and a fun read for Go beginners and veterans alike.

More resources are available at [golang.org](https://golang.org/doc/docs.html).
