Lua简介

/ / Lua简介

Lua是一种轻量语言,它的官方版本只包括一个精简的核心和最基本的库。这使得Lua体积小、启动速度快。它用ANSI C语言编写并以源代码形式开放,编译后仅仅一百余K,可以很方便的嵌入别的程序里。和许多“大而全”的语言不一样,网络通信、图形界面等都没有默认提供。但是Lua可以很容易地被扩展:由宿主语言(通常是C或C++)提供这些功能,Lua可以使用它们,就像是本来就内置的功能一样。事实上,现在已经有很多成熟的扩展模块可供选用。

Lua是一种多重编程范式的程序设计语言:它只提供了很小的一个特性集合来满足不同编程范式的需要,而不是为某种特定的编程范式提供繁杂的特性支持。例如,Lua并不提供继承这个特性,但是你可以用元表来模拟它。诸如名字空间、类这些概念都没有在语言基本特性中实现,但是无涯教程可以用表结构(Lua唯一提供的复杂数据结构)轻易模拟。Lua可以在运行时随时构造出一个函数,并把它看作一个对象(正是所谓的first class function),这个特性可以很好的满足函数式编程的需要。正是提供了这些基本的元特性,可以任意的对语言进行自需的改造。

Lua原生支持的数据类型非常之少,它只提供了数字(缺省是双精度浮点数,可配置)、布尔量、字符串、表、子程序、协程(coroutine)以及用户自定义数据这几种。但是其处理表和字符串的效率非常之高,加上元表的支持,开发者可以高效的模拟出需要的复杂数据类型(比如集合、数组等)。

Lua是一个动态弱类型语言,支持增量式垃圾收集策略。有内建的,与操作系统无关的协作式多线程(coroutine)支持。-- 来源维基百科

程序示例

print("Hello World!")

Lua用途

  • 游戏编程

  • 独立应用程序中的脚本

  • Web脚本

  • MySQL Proxy和MySQL WorkBench等数据库的扩展和附件

  • 安全系统,如入侵检测系统。

祝学习愉快! (发现内容有误?请选中要编辑的内容 -> 右键 -> 修改 -> 提交!帮助我们改进教程质量)

精选教程推荐

👇 以下精选教程可能对您有帮助,拓展您的技术视野

网络架构实战课 -〔谢友鹏〕

大模型微调实践课 -〔赵鹏昊/李杰〕

Python实战 · 从0到1搭建直播视频平台 -〔Barry〕

Spring编程常见错误50例 -〔傅健〕

人人都用得上的写作课 -〔涵柏〕

Serverless入门课 -〔蒲松洋(秦粤)〕

人人都能学会的编程入门课 -〔胡光〕

TypeScript开发实战 -〔梁宵〕

重学前端 -〔程劭非(winter)〕

📝 好记忆不如烂笔头,留下您的学习笔记吧!

暂无学习笔记,成为第一个分享的人吧!

您的笔记将帮助成千上万的学习者