基础函数

函数使用 func 定义:

func add(x: int, y: int) -> int {
    x + y
}

规则

  • 返回类型必须显式写出
  • 顶层函数是当前主要的用户自定义函数形式
  • 函数体最后一个不带分号的表达式可以作为返回值
  • 也可以显式使用 return

位置参数函数

func greet(name: string) -> string {
    `hello ${name}`
}

greet("world")

规则:

  • 参数按顺序传递
  • 尾部 opt<T> 参数或带默认值参数可省略

具名参数函数

func create_user({ name: string, age: int }) -> string {
    `${name}:${age}`
}

create_user(name: "Alice", age: 30)
create_user(age: 30, name: "Alice")

规则:

  • 定义时使用 { ... }
  • 调用时直接写 name: value
  • 顺序无关

返回

显式返回:

func add(x: int, y: int) -> int {
    return x + y;
}

尾表达式返回:

func add(x: int, y: int) -> int {
    x + y
}

unit 函数可以自然结束,也可以写 return;