Common Programming Concepts cn
常见编程概念
在本章中,我们将涵盖Funk与其他语言共享的所有常见概念。具体而言,我们将讨论变量、循环、条件语句、函数和输入/输出。
变量
在Funk中,变量与其他语言的变量概念相似。它是用于在内存中存储数据的标识符。
我们使用 var
语法来定义变量并将它们绑定到类型。一旦变量被绑定,就不能将其与另一种类型的数据关联,除非我们再次使用 var
重新声明并指定类型。
以下是如何使用 var
:
这在堆栈中创建一个新变量。我们在 :
后面指定类型。类型将在下一章中描述。然后使用等号 =
将表达式(这里是10)与变量关联起来。你可能会注意到在行末有一个分号 ;
,所有Funk指令必须以分号结束才能有效。
一旦定义了变量,你可以使用赋值语法和等号 = 符号重新分配新值。
这将更改存储在变量中的值,但不改变变量的大小。
类型
原始类型
Funk支持最多64位的数字。
有符号 | 无符号 | 大小 | 描述 |
---|---|---|---|
i8 | u8 | 8位 | 整数 |
i16 | u16 | 16位 | 整数 |
i32 | u32 | 32位 | 整数 |
i64 | u64 | 64位 | 整数 |
f32 | - | 32位 | |
f64 | - | 64位 |
数组
数组是具有相同类型的固定大小的项目列表。在内存中,数组中的每个元素都相邻。数组的每一位都在内存中对齐。
表示包含10个8位无符号元素的数组的类型表示如下:u8[10]
。在Funk中,我们使用方括号指定数组,并用一个字面整数指定其大小。通过在方括号前面加上原始类型,可以给出每个元素的大小。
为了给它赋值,我们使用方括号,并用逗号分隔每个表达式。
Funk还为数组创建提供了一些语法糖。
将数组类型的方括号留空,Funk将自动使用给定的数组值推断大小。
对于比你的手指能敲出的更长的数组,你可以简单地忽略剩下的部分,它将被设置为默认值(0)。
字符串
在Funk中,字符串与C语言中一样,是整数数组。但是,创建字符串时,你可以指定字符的长度,支持其他编码格式,如64位Unicode。
你可以使用双引号 "" 作为典型数组的值来定义字符串。Funk支持像 \n
、\0
、\t
等转义字符。
与数组一样,语法糖可用于推断字符串的大小,但你也可以手动设置大小,或提供比实际写入的字符串小的字符串以提供一个小缓冲区(它将被0初始化)。
算术运算符
Funk提供用于算术运算的通常运算符。
符号 | 名称 | 符号 | 名称 |
---|---|---|---|
+ | 加法 | - | 减法 |
* | 乘法 | / | 除法 |
% | 取模 |
逻辑运算符
Funk提供用于处理逻辑的通常运算符。
符号 | 名称 | 符号 | 名称 |
---|---|---|---|
== | 相等 | != | 不相等 |
> | 大于 | >= | 大于或等于 |
< | 小于 | <= | 小于或等于 |
&& | 与 | || | 或者 |
! | 非 |
与C语言一样,这些运算符如果为真返回1
,为假返回0
。
条件语句
条件逻辑使用唯一的 if
语句完成。与条件在括号中一起使用和一个有范围的块,if
可以用于条件表达式。
如果条件为假,我们可以选择指定 else
语句。
索引
为了访问数组中的某个元素(字符串也是数组),你可以使用索引语法并指定要获取的索引。只需在要访问的数组名称后面放上
请记住:在Funk中,数组从0开始。
迭代
Funk是一种核心为命令式编程的语言,因此它需要迭代!要进行迭代,您可以使用人类创造的最终循环:while
循环。它的功能与之前的其他while循环相同,给定一个条件和要重复的指令块,直到条件为假为止。
这使得 counter
递减,直到它等于或小于0。