级联调用
函数基础
main() 函数返回值为空,参数为一个可选的 List(String)。
作为应用服务的入口,任何应用都必须有一个顶级 main() 函数。
main() 函数在 web的应用:
void main() {
querySelector('#sample_text_id')
..text = 'Click me!'
..onClick.listen(reverseText);
}
以上代码中的 .. 语法为 级联调用 (cascade) 。 而使用级联调用, 可以简化在一个对象上执行的多个操作。
main() 方法命令行应用 ,并用了输入参数:
// 这样运行应用: dart args.dart 1 test
void main(List<String> arguments) {
print(arguments);
assert(arguments.length == 2);
assert(int.parse(arguments[0]) == 1);
assert(arguments[1] == 'test');
}
定义和解析命令行参数可以使用 args library。
函数是一等对象
一个函数可以是另一个函数的参数。 例如:
void printElement(int element) {
print(element);
}
var list = [1, 2, 3];
// 将 printElement 函数作为参数传递。
list.forEach(printElement);
而且一个函数亦可赋值给一个变量,如下:
var loudify = (msg) => '!!! ${msg.toUpperCase()} !!!';
assert(loudify('hello') == '!!! HELLO !!!');