八、函数及相关

1  函数

  和C语言一样,函数由返回值,函数名,函数体组成

  int getNum(){}

  方法调用,使用方法名调用即可

  getNum();

 

2  参数

  不指定类型参数

  int sumNum(n){}

  指定类型参数,和C语言一摸一样

  int sumNum(int n,String str){}

 

3  可选参数

  中括号内的参数可传可不传

  String getUser(String name,[int age,String sex]){}

  getUser('张三');

  getUser('张三','男');

 

4  带默认参数

  String getUser(String name,[int age,String sex = ‘男’]){}

  getUser('张三',20,'女');

 

5  命名参数

  String getUser(String name,{int age,String sex = ‘男’}){}

  getUser('张三',age:20,sex:'女');

 

6  方法作为参数

1
2
3
4
5
6
7
8
9
a(){
  print("aaaa");
}
 
fn(aaa){
  aaa();
}
 
fn(a);

 

7  匿名方法

1
2
3
4
5
var fn=(int n){
  print("这是个匿名方法"+n);
};
 
fn(1);

  

8  箭头函数(注意:方法体只能写一句话,并且不要加分号)

1
2
List items = [1,2,3,4];
var newList = items.forEach((value)=>print(value));

  

1
2
3
4
List items = [1,2,3,4];
var newList = items.forEach((value)=>{
  print(value)
});

 

9  自执行方法

1
2
3
4
5
6
7
8
((){
  print("这是自执行方法");
})();
//带参数
String str = 'aaaa';
((String args){
  print("$args");
})(str);

 

10  闭包

  闭包的产生及作用:

  全局变量特点:  全局变量常驻内存,全局变量污染全局

  局部变量特点:  不常驻内存,会被垃圾回收机制回收,不会污染全局

  闭包产生:常驻内存,不污染全局

  闭包本质:函数嵌套函数,内部函数会调用外部函数的变量或参数。

1
2
3
4
5
6
7
8
9
10
11
fn(){
  var a=123;
  return (){
    a++;
    print(a);
  };
}
var b = fn();
b();
b();
b();

 

posted @   WaterGe  阅读(18)  评论(0编辑  收藏  举报
相关博文:
阅读排行:
· winform 绘制太阳,地球,月球 运作规律
· 超详细:普通电脑也行Windows部署deepseek R1训练数据并当服务器共享给他人
· 上周热点回顾(3.3-3.9)
· AI 智能体引爆开源社区「GitHub 热点速览」
· 写一个简单的SQL生成工具
点击右上角即可分享
微信分享提示