内置方法/函数:
print();
自定义方法:
自定义方法的基本格式:
返回类型 方法名称(参数1,参数2……){
方法体
return 返回值;
}
//以下写的自定义方法的作用域都是全局作用域
void printInfo(){
print('我是一个自定义方法');
}
int getNum(){
var myNum = 123;
return myNum;
}
String printUserInfo(){
return 'str';
}
List getList(){
return ['111','222','333'];
}
void main(){
printInfo();
var n = getNum();
print(n);
print(printUserInfo());
print(getList());
}
//调用方法传参
mian(){
//1.定义一个方法,求1到这个数所有数的和
int sunNum(int n){ //如果定义方法的时候不知道返回值的类型是什么,可以不写;建议要写类型
var sum = 0;
for(var i=1;i<=n;i++){
sum += i;
}
return sum;
}
var n1 = sumNum(100);
print(n1);
//2.定义一个方法然后打印用户信息
String printUserInfo(String username,int age){ //形参
return "姓名: $username----年龄:$age";
}
print(printUserInfo('张三',20)); //实参
//3.定义一个带可选参数的方法
String printUserInfo(String username,[int age]){ //形参 [int age]可选参数,可以一个也可以是多个
if(age != null){
return "姓名: $username----年龄:$age";
}
return "姓名: $username----年龄保密";
}
print(printUserInfo('张三')); //实参
//4.定义一个带默认参数的方法
String printUserInfo(String username,[String sex='男',int age]){ //可以指定默认参数的值,没有传入的时候就是默认值String sex='男'
if(age != null){
return "姓名: $username-----性别:$sex--年龄:$age";
}
return "姓名: $username----性别:$sex--年龄保密";
}
print(printUserInfo('张三','女',20)); //实参
//5.定义一个命名参数的方法
String printUserInfo(String username,{int age,String sex='男'}){ //命名参数是{},也可指定默认参数值
if(age != null){
return "姓名: $username-----性别:$sex--年龄:$age";
}
return "姓名: $username----性别:$sex--年龄保密";
}
print(printUserInfo('张三',age:20,sex:'未知')); //实参 传值时要指定名称age:20
//6.实现一个把方法当做参数的方法
fn1(){ //方法1
print('fn1');
}
fn2(fn){ //方法2
fn();
}
fn2(fn1); //调用fn2这个方法 把fn1和这个这个方法当做参数传入
}