跳转至

类型与结构

展示结构体与类、变量列表初始化、成员函数调用。示例包含 structclass 的对比用法,并通过 ${...} 语法进行变量列表初始化。

相关语法: 类与结构体变量列表初始化访问控制

说明: struct 适合承载简单数据;class 适合包含行为与权限控制。示例中类使用 @public 显式开放字段,inc() 修改内部状态并展示成员函数调用方式。

use "std" -> std;

struct Point {
  i32 x;
  i32 y;
}

class Counter {
  @public:
    i32 value;
    act initvar -> unit @default;

    act inc() -> unit {
      value = value + 1;
    }
}

act[io.out] main() -> i32 {
  val p = Point${.x=1, .y=2};
  std.println(p.x);
  std.println(p.y);

  val c = Counter${.value=0};
  c.inc();
  std.println(c.value);
  return 0;
}