注释行
在 circom 中,你可以在源代码中添加注释。这些注释行将被编译器忽略。注释帮助程序员更好地理解你的源代码。建议在代码中添加注释。
circom 2.0 中允许的注释行与其他编程语言(如 C 或 C++)类似。
你可以使用 // 在单行上写注释:
// 使用这种方式,我们可以注释一行。
你也可以在代码行的末尾使用 // 写注释:
template example(){
signal input in; // 这是一个输入信号。
signal output out; // 这是一个输出信号。
}
最后,你可以使用 /* 和 */ 写多行注释:
/*
所有这些行将被
编译器忽略。
*/
标识符
任何以任意数量的 “__” 开头,后跟 ASCII 字母字符,再后跟任意数量的字母或数字字符、“_” 或 “$” 的非保留关键字都可以用作标识符。以下是一些标识符的示例:
signal input _in;
var o_u_t;
var o$o;
保留关键字
保留关键字列表如下:
- signal: 声明一个新的信号。
- input: 声明信号为输入。
- output: 声明信号为输出。
- public: 声明信号为公共。
- template: 定义一个新的电路。
- component: 实例化一个模板。
- var: 声明一个新的整数变量。
- function: 定义一个新函数。
- return: 从函数返回。
- if: 基于条件表达式的结果进行分支。
- else:
if 控制流结构的备用选项。
- for: 基于表达式的结果进行条件循环。
- while: 基于表达式的结果进行条件循环。
- do: 基于表达式的结果进行条件循环。
- log: 打印评估结果。
- assert: 在构建时检查条件。
- include: 包含指定文件的代码。
- parallel: 生成带有并行组件或模板的 C 代码。
- pragma circom: 检查编译器版本的指令。
- pragma custom_templates: 指示使用自定义模板的指令。
作者与出处
原作者:WTFAcademy
来源:WTFAcademy
许可证:MIT
由灏天文库结构化整理,提供目录导航、全文检索与在线阅读,便于系统化学习