变量
Felix提供了三种简单的形式来定义和初始化变量。这个 var binder用于定义变量,它将名称绑定到存储位置。
具有类型和初始化器的变量
变量可以用类型注释和初始化器定义。
var b : bool = true;
var i : int = 1;
var s : string = "Hello";
var d : double = 4.2;
var f : float = 4.2f;
指定的类型必须与初始化器的类型一致。
没有类型注释的变量
如果变量具有初始化器,也可以在不使用类型注释的情况下定义变量。
var b = true;
var i = 1;
var s = "Hello";
var d = 4.2;
var f = 4.2f;
在这些情况下,变量的类型就是初始化器的类型。
没有初始化器的变量
变量可以在没有初始化器的情况下定义。
var b : bool;
var i : int;
var s : string;
var d : double;
var f : float;
在这种情况下,变量将由底层C++默认初始化器初始化。如果基础C++类型没有默认初始化符,那么这样指定变量是错误的。
如果底层C++默认初始化器是微不足道的,那么存储不会被修改,那么Felix变量是未初始化的。
简单作业
赋值可用于赋值存储在变量位置的第一值,修改先前提供的显式初始化器的值,或修改基础C++默认初始化器提供的值。
var b : bool;
var i = 1;
b = true;
i = 2;
当控制流通过赋值时执行赋值。
可变起重
Var绑定相当于声明未初始化的变量和赋值。声明在当前范围内的位置不相关。初始化赋值的位置是。例如:
a = 1;
var b = a;
var a : int;
等于
var a = 1;
var b = a;