Một closure là một hàm tham chiếu đến các biến từ phạm vi bao quanh của nó, "đóng kín (closing over)" chúng — hàm giữ quyền truy cập vào các biến đó ngay cả sau khi hàm bao quanh đã trả về. Hàm trong Go là các giá trị first-class, khiến closure trở thành một công cụ phổ biến và mạnh mẽ.
Một closure cơ bản
{
count :=
{
count++
count
}
}
counter := makeCounter()
fmt.Println(counter())
fmt.Println(counter())
other := makeCounter()
fmt.Println(other())
