Go Programming Language


defer pushes a function call on to a local stack to be executed when the enclosing function returns (either normally or due to a panic). The arguments are evaluated at the time/position of the defer call, not when the defered function itself is called (this is intuitive).

The golang documentation gives the examples of closing file handles and printing HTML footers (defer right after printing the header).

Learning Resources

In addition to the excellent dynamic Tour, documentation, and other things listed on the front page:

Other Resources

  • GoCI (continuous integration)