编程语言 · 2023年 10月 6日 0

语言的"一等公民"

119 次浏览

一等公民,英文为"First-Class Citizen". 一般而言,某个类型支持语言定义的所有操作,包括赋值、修改、参数传递和参数返回。编程语言的基本类型一般都是一等公民,比如C语言的int类型。但依然要注意:

  • float类型不能算一等公民,它要被转换成double再处理。

函数是一等公民?

  • C/ObjC/C++ 函数指针是。
  • 函数式编程语言和脚本语言一般默认函数地位很高,例如仓颉 函数和Lambda表达式都是。
  • JS或者GO语言,支持匿名函数和闭包,函数也是。
  • Java 8支持函数式编程,此时函数才是一等公民。

数组是一等公民?

  • C/C++数组不能直接赋值,作为参数传递被弱化为指针。