C#与Lua语言学习对比一
程序员文章站
2022-04-01 12:40:00
Lua与C#的对比及AssetBundle资源打包的相关操作Lua的语法基础语言特性书写格式合理的创建标题,有助于目录的生成如何改变文本的样式插入链接与图片如何插入一段漂亮的代码片生成一个适合你的列表创建一个表格设定内容居中、居左、居右SmartyPants创建一个自定义列表如何创建一个注脚注释也是必不可少的KaTeX数学公式新的甘特图功能,丰富你的文章UML 图表FLowchart流程图导出与导......
Lua的语法基础
Lua语言 作为一种编程语言,与C#有很大的差异。所以在使用之前,先通过对比的形式来明确Lua语言有哪些特点。
语言特性
首先,Lua语言和C#在语言特性上就有明显的不同:
- 语言类型 :Lua是解析型语言,这种代码再执行时会按照从上到下的顺序依次执行。而C#是编译型语言,编写完成后会生成特殊文件,然后按照调用关系去调用函数;
- 数据类型:Lua是弱类型语言,变量声明时无需指定数据类型。C#是强类型语言,定义数据必须指定数据类型 ;
书写格式
- 函数关系:Lua中的函数没有明确的归属类,独立存在。C#中的函数都属于类。
- 结尾不同:C#代码每行必须以; 结尾,Lua代码可以以;结尾,也可以没有结尾处的标点符号。
- 变量书写格式:C#声明变量时格式为 数据类型 标识符 = 值;Lua语言没有数据类型的指定。
Lua的基本数据类型
- 数值类型:Lua的数值类型,只有number,C#有int,float,double;
- 布尔类型:C#为bool,而Lua为boolean;
- 字符串类型:Lua的字符串和C#的字符串类型都为string,并且转义字符也基本相同。但Lua的字符串可以被" “或’ ‘或[[ ]]包裹,’ '和” "包含的字符串基本一样(因’ ’ 包含内容也为字符串,所以Lua没有char类型),而被[[ ]]包裹的字符串相当于在C#的字符串前加@,从而原格式输出。
Lua的运算符
- 相加:C#中加号表示2数或2字符串相加,但在Lua中用"…"(2个点)。
- 复合运算符:Lua中不支持复合运算符和++、- -2个特殊运算符。
- 形式不同的运算符:Lua中不等于为~=,C#为!=。Lua中的逻辑运算符and,or,not,C#中为&&,||,!。
Lua中的分支结构
Lua中的分支结构中没有{},使用then…end…代替。毎有一个if(布尔表达式)后面都会跟着一个then,在代码块写完后,换行接end结尾。而且,Lua中没有switch…case…语句。
Lua中的循环结构
- Lua中的循环结构也没有{},使用do…end…代替。
- Lua的for循环书写格式为for 初值表达式,终值表达式(包含等于),迭代表达式。
- Lua中没有do…while()…循环语句,但有与其相似的循环语句,为repeat…until()…语句,与do…while()…不同,当条件表达式为真时,结束循环,否则一直循环。Lua中跳出循环关键字没有continue,只有break。
Lua的函数结构
- C#中的函数返回值的地方有function代替,结尾处依旧使用end结尾。同样,在Lua的函数结构中没有{}存在。
- 因Lua为解析性语言,执行顺序从上到下。所以Lua中的函数调用必须写在函数的声明之后。而且函数是否有返回值,取决于是否包含return。
- Lua中没有委托的概念,函数可以直接作为参数传递。
下面是个人的学习过程中的脑图链接和邀请注册链接,脑图基本制作完了,但是懒癌作祟,博客更新出来估计还得至少一周时间。
Processon脑图的链接
如需注册Processon,望通过链接注册https://www.processon.com/i/5a01152be4b0d53d97955625。谢谢。
本文地址:https://blog.csdn.net/QAWQQWAQ/article/details/85841228