Closures

From NovaOrdis Knowledge Base
Jump to navigation Jump to search

Internal

Overview

A closure is an instance of a function that can reference non-local variables of that function with no restrictions. This is where the name comes from, a closure closes around the lexical scope it is created in, thereby capturing variables. The variables can then be modified from the closure, when it executes. The closure can access the data when it executes. Go closures behave this way. Java 8 lambda expression are different, in that they can only refer final local variables in the scope in which the lambda was declared.