class
Source: compiler/src/builtin_docs/keywords.md Declares a class: a named heap type with fields, constructed with new.
Fields are name: Type, private unless marked pub; const fields are
set only by the constructor and static fields belong to the class. Methods
go in an impl block. A class can be generic and can declare an
invariant.
class Account {
pub owner: string,
balance: int,
}
impl Account {
pub fn deposit(int amount) {
self.balance = self.balance + amount;
}
}
fn main() {
let a = new Account("ada", 0);
a.deposit(10);
}
See also#
fn: Declares a function, a method, or (written in an expression) an anonymous function.let: Declares a mutable local variable.const: Declares a binding that cannot be reassigned: a local, a module constant, or a class field that is set only bynew.static: Declares a module-level or class-level slot shared by the whole program, or a method withoutself.readonly: A read-only view of a value: nothing reachable through it can be changed.if: Runs a block when aboolcondition is true.else: Introduces the branch of anifthat runs when its condition is false (or its pattern does not match).while: Repeats a block while aboolcondition is true.