Programmeren in Go/Defer

Uit Wikibooks
Naar navigatie springen Naar zoeken springen

Programmeren in Go 100 percent.svg

Commentaar
Pakketten
Variabelen en constanten
Assignments
For
Switch
Functies
Defer
Arrays
Slices
Methodes
Types
Goroutines
Channels
Select

Defer is een statement die als functie heeft om de executie van een statement te verplaatsen naar het einde van een functie. De volgorde van executie is LIFO, het laatste statement wordt als eerste uitgevoerd. Dit kan handig zijn om meerdere functies te groeperen, bijvoorbeeld bij IO.

func main(element FileElement)(Info) {
   o := file.Open(element)
   defer o.Close() // Verplaatst zich naar onderen

   p := o.ReadAll() // Sluit is nog niet uitgevoerd!
   // Nu pas!
   return p
}
Informatie afkomstig van http://nl.wikibooks.org Wikibooks NL.
Wikibooks NL is onderdeel van de wikimediafoundation.