一、Dart中函数的参数问题
1、dart的入口是main函数。
main函数参数的作用和使用方法。
main(List<String> args) {
//1.List类型:[元素1,元素2,...]
List<String> names = ["why", "kobe", "james", "victoria", "kobe"];
List<String> newNames = [];
for (String name in names) {
if (!newNames.contains(name)) {
newNames.add(name);
}
}
print(newNames);
List<String> newName2 = List.from(Set.from(names));
print(newName2);
//2、Set类型:{元素1,元素2,...}
//应用:对List去重
Set<int> nums = {101, 111, 222, 333, 444, 222, 3434, 111};
print(nums);
//3.Map类型(key/value):{key1:value1,key2:value2}
Map<String, dynamic> info = {"name": "why", "age": 18, "height": 1.88};
print(info.name);
}
2、Dart中函数的参数问题:
函数的参数分成两种:必传参数和可选参数
可选参数分成两种:位置可选参数和命名可选参数。
位置可选参数:[ ]
命名可选参数:{ }
main(List<String> args) {
print(sum(20, 30));
prinInfo1("kobe");
prinInfo1("tom", 18);
prinInfo1("susan", 29, 1.65);
}
void prinInfo1(String name, [int age, double height]) {
print("$name $age $height");
}
int sum(int i, int j) {
return i + j;
}
3、函数的第一公民
//函数作为第一公民
//函数可以作为另一个函数的参数,也可以作为另一个函数的返回值。
main(List<String> args) {
test(foo);
//1\获取一个函数
Function bar = getFunc();
bar();
}
void foo() {
print("Hello World!");
}
void test(Function func) {
func();
}
Function getFunc() {
return foo;
}