本文已参与「新人创作礼」活动,一起开启掘金创作之路。
Dart 方法的定义 变量 方法的作用域
内置方法/函数:
print()
自定义方法:
自定义方法的基本格式:
返回类型 方法名称 (参数1, 参数2, ...) {方法体 return 返回值;}
void printInfo() {
print('我是一个自定义方法');
}
// 可以写到main()入口函数的外边
// int getNum() {
// var myNum = 123;
// return myNum;
// }
String printUserInfo() {
return 'this is str';
}
List getList() {
return ['111', '222', '333'];
}
void main() {
print('调用系统内置方法');
printInfo();
// int 定义一个指定类型的函数
int getNum() {
var myNum = 123;
return myNum;
}
// 输出函数里的值
var n = getNum();
print(n); // 123
print(printUserInfo()); // this is str
// 方法的作用域
void xxx() {
aaa() {
print('aaa'); // aaa
print(getList()); // [111, 222, 333]
}
aaa();
}
xxx(); // 调用方法
}
Dart 方法传参 默认参数 可选参数 命名参数 方法作为参数
调用方法传参
定义一个方法 求1到这个数的所有的和
main() {
int sumNum(int n) {
var sum = 0;
for (var i = 0; i <= n; i++) {
sum += i;
}
return sum;
}
var n1 = sumNum(60);
print(n1);
var n2 = sumNum(100);
print(n2);
}
定义一个方法然后打印用户信息
main() {
String printUserInfo(String username, int age) {
return ("姓名:$username ------ 年龄:$age");
}
print(printUserInfo("张三", 20));
}
定义一个带可选参数的方法
main() {
String printUserInfo(String username, [int age = null, String sex = '男']) {
// 形参
if (age != null) {
return "姓名:$username ------ 年龄:$age";
}
return "姓名:$username ------ 年龄:保密";
}
print(printUserInfo("张三", 21)); // 实参
print(printUserInfo("张三")); // 姓名:张三 ------ 年龄:保密
}
定一个带默认参数的方法
main() {
String printUserInfo(String username, [String sex = '男', int age = 0]) {
// 形参
if (age != 0) {
return "姓名:$username --- 性别: $sex --- 年龄:$age";
}
return "姓名:$username --- 性别: $sex --- 年龄:保密";
}
print(printUserInfo("张三")); // 姓名:张三 --- 性别: 男 --- 年龄:保密
print(printUserInfo("小李", "女")); // 姓名:小李 --- 性别: 女 --- 年龄:保密
print(printUserInfo("小李", "女", 30)); // 姓名:小李 --- 性别: 女 --- 年龄:30
}
实现一个 把方法当做参数的方法
main() {
// 方法
fn1() {
print('fn1');
}
// 方法
fn2(fn) {
fn();
}
// 调用 fn2 这个方法 把fn1这个方法当参数传入
fn2(fn1); // fn1
}