BackendBit

К глоссарию

First-class citizen

Другие названия
объект первого класса
first-class object
first-class entity

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

Пример

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

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

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

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