Dart10函数
Dart10函数
1.可选的位置参数
要指定可选的位置参数,请使用方括号 [ ]。
void function_name(param1, [optional_param_1, optional_param_2]) { }
如果未传递可选参数值,则将其设置为NULL。
示例
void main() {
test_param(123);
}
test_param(n1,[s1]) {
print(n1);
print(s1);
}
执行上面示例代码,得到以下结果:
123
null
2.可选的命名参数
与位置参数不同,必须在传递值时指定参数名称。花括号 { } 可用于指定可选的命名参数。
声明函数
void function_name(a, {optional_param1, optional_param2}) { }
调用函数
function_name(optional_param:value, …);
示例
void main() {
test_param(123);
test_param(123,s1:'hello');
test_param(123,s2:'hello',s1:'world');
}
test_param(n1,{s1,s2}) {
print(n1);
print(s1);
}
执行上面示例代码,得到以下结果:
123
null
123
hello
123
world
3.带有默认值的可选参数
默认情况下,还可以为函数参数指定值。 但是,这些参数也可以显式传递值。
function_name(param1,{param2= default_value}) {
//......
}
示例
void main() {
test_param(123);
}
void test_param(n1,{s1:12}) {
print(n1);
print(s1);
}
执行上面示例代码,得到以下结果:
123
12
注 - 函数中的所有必需参数必须在可选参数之前。
4.匿名函数
创建没有名字的函数,这种函数被称为 匿名函数
([[Type] param1[, …]]) { codeBlock; };
下面例子中定义了一个包含一个无类型参数 item 的匿名函数。 list 中的每个元素都会调用这个函数,打印元素位置和值的字符串。
void main() {
var list = ['apples', 'bananas', 'oranges'];
list.forEach((item) {
print('${list.indexOf(item)}: $item');
});
}
如果函数只有一条语句, 可以使用箭头简写。
list.forEach((item) => print('${list.indexOf(item)}: $item'));
5.箭头函数
Lambda 函数是表示函数的简洁机制,这些函数也称为箭头函数。
[return_type]function_name(parameters)=>expression;
示例
void main() {
printMsg();
print(test());
}
printMsg()=>
print("hello");
int test()=>123;
// returning function
执行上面示例代码,得到以下结果:
hello 123
评论
匿名评论
隐私政策
你无需删除空行,直接评论以获取最佳展示效果