函数与方法
函数
函数 加法(x: 整数, y: 整数) : 整数 {
返回 x + y;
}
// 无返回值省略返回类型
函数 打招呼(名字: 字符串) {
IO.打印行("你好," + 名字);
}函数作为参数(高阶函数)
函数 应用两次(f: 函数(整数): 整数, x: 整数) : 整数 {
返回 f(f(x));
}函数指针类型写作 函数(参数类型...): 返回类型。回调签名固定,注意返回类型要一致。
方法(Go 风格)
方法是接收者写在函数名前括号里的函数,不是 方法 类型.名():
类型 点 {
x: 浮点数,
y: 浮点数,
}
函数 (自己 点) 模长平方() : 浮点数 {
返回 自己.x * 自己.x + 自己.y * 自己.y;
}
函数 入口() {
变量 p = (点 { x: 3.0, y: 4.0 });
IO.打印行(浮点数转字符串(p.模长平方())); // 25.0
}接收者名可以用 自己。结构体字面量里每个字段单独赋值,别把多个字段都从同一个参数取(已知 codegen 踩坑)。