Closure là một hàm capture (giữ lại) các biến từ phạm vi bao quanh và có thể truy cập chúng ngay cả sau khi hàm ngoài đã kết thúc.
Ví dụ: int makeAdder(int x) { return (int y) => x + y; } — hàm bên trong "giữ lại" biến x. Closure rất hữu ích cho callbacks và lập trình hàm trong Dart.