语法
Vala 的语法设计深受 C# 影响,因此熟悉类 C 语言的开发者会感到非常亲切。以下简明概括其核心规则:
1. 作用域与代码块
- 作用域界定:
使用大括号{ }
定义作用域。对象或引用的有效性仅限在其定义的{
和}
之间。{ // 作用域开始 int x = 10; // x 在此作用域内有效 } // 作用域结束,x 失效
- 代码结构:
类、方法、代码块等均通过{ }
划分,天然具备独立作用域。
变量声明位置:Vala 对变量声明位置无严格限制(如可在代码块后声明)。
2. 标识符定义
-
基本规则:
类型 + 名称,例如 int c; // 定义一个名为 c 的整数变量
- 值类型(如
int
):声明时直接创建对应类型的对象。 - 引用类型(如
Object
):仅创建空引用(未指向实际对象)。
- 值类型(如
-
命名规则:
- 允许字母、数字、下划线组合(如
count_1
)。 - 特殊场景:
- 名称以数字开头或为保留关键字时,需添加
@
前缀(例如@123var
或@foreach
)。 @
不计入实际名称,且在明确上下文中可省略(如obj.foreach()
无需写为obj.@foreach()
)。
- 名称以数字开头或为保留关键字时,需添加
- 允许字母、数字、下划线组合(如
3. 引用类型实例化
- 操作方式:
使用new
运算符和构造方法(通常与类型同名)创建对象:Object o = new Object(); // 创建 Object 实例,o 引用该对象
- 底层逻辑:
new
触发内存分配与初始化,返回对象引用。未显式实例化的引用类型变量默认值为null
。
注释
Vala 支持三种标准注释语法,与大多数类 C 语言一致,开发者无需额外学习成本:
1. 单行注释
以 //
开头,注释内容持续到行尾:
// 这是单行注释,仅在本行有效 int x = 10; // 行内注释(代码后的解释)
2. 多行注释
用 /*
和 */
包裹,可跨越多行:
/*
这是多行注释,
可自由换行编写。
*/
int y = 20;
3. 文档注释
以 /**
开头,用于生成 API 文档:
/*** 计算两数之和* @param a 第一个整数* @param b 第二个整数* @return 和值*/
int add(int a, int b) {return a + b;
}