first-class type 一等类型的含义

一等(first-class)类型是指可以在执行期创造,并作为参数传递给其他函数或存入一个变数。

如果一个对象是一等类型,那么它:

  • 可以被存入变量或其他结构
  • 可以被作为参数传递给其他函数
  • 可以被作为函数的返回值
  • 可以在执行期创造,而无需完全在设计期全部写出
  • 即使没有被系结至某一名称,也可以存在

大部分语言的基本类型的数值(如int, float)等都是一等类型~

在C/C++中,函数不是一等类型,这表示函数在C/C++语言中不能在执行期创造,而必须在设计时全部写好,而在Python、Swift中函数是一等类型,这意味着函数可以作为其他函数的参数和返回值。