【far 语言】类型系统

本文是「far 语言」系列文档之一,总目录见《【far 语言】语言文档目录》。

变量与数据类型

Far 是强类型语言,但短变量声明 x := 表达式 从初始值自动推断。

基本类型

string name = "far";        // 字符串
long age = 30;              // 64 位整数(默认数值类型)
int score = 100;            // 32 位整数注解
short s = 10;               // 16 位整数注解
byte b = 0x48;              // 8 位整数注解
double pi = 3.14;           // 双精度浮点
bool ok = true;             // 布尔
x := 1;                  // 短变量声明 :=(自动推断类型,Go 风格)
  • int / short / byte编译期宽度注解,运行时统一 64 位,用于语义约束与 FFI 布局。
  • double 支持字面量、运算、比较,与整数混合自动提升。

容器类型

map<string, string> data = {"name": "far"};   // 字典(键限 string / long)
object obj = new App();                       // 对象 / 自定义类实例
arr := [1, 2, 3];                           // 数组(见 array.md)
Named n = new Dog();                          // 接口类型:调用走动态分派(见 inherit.md)

声明规则

long a = 1, b = 2, c = 3;      // 一次声明多个
v := 1;                     // 从初始化表达式推断
long d;                        // 无初始化默认 0
  • 类型写在变量名前。
  • := 推导失败(如无初始化)会报编译错误,建议显式类型。
posted @ 2026-09-13 05:05  方东信  阅读(5)  评论(0)    收藏  举报