BackendBit

К глоссарию

First-class citizen

First-class citizen (объект первого класса) – сущность в языке программирования, которая поддерживает все стандартные операции: её можно создавать в рантайме, передавать как аргумент, возвращать из функции и присваивать переменной.

Также известен как: first-class object, first-class entity.

Пример

В Go функции являются first-class citizens:

// Функция присваивается переменной
handler := func(w http.ResponseWriter, r *http.Request) {
    fmt.Fprintf(w, "Hello!")
}

// Функция передаётся как аргумент
http.HandleFunc("/", handler)
go

Тип http.HandlerFunc использует это свойство – он адаптирует обычную функцию к интерфейсу http.Handler.