美文网首页
Dart简介2--函数

Dart简介2--函数

作者: 逃离_102 | 来源:发表于2022-09-21 21:52 被阅读0次

说明

Dart是一种真正的面向对象的语言,所以即使是函数也是对象,并且有一个类型Function。这意味着函数可以赋值给变量或作为参数传递给其他函数,这是函数式编程的典型特征。下面就简单介绍一下。

1. 函数声明

Dart函数声明如果没有显式声明返回值类型时会默认当做dynamic处理,注意,函数返回值没有类型推断。示例如下:

//函数声明bool
bool callBack();

//不指定返回类型,此时默认为dynamic,不是bool
isNoble(int atomicNumber) {
  return _nobleGases[atomicNumber] != null;
}

void test(callBack cb){
   print(cb()); 
}
//报错,isNoble不是bool类型
test(isNoble);

//对于只包含一个表达式的函数,可以使用简写语法
bool isNoble (int atomicNumber)=> true ;

2. 函数作为变量

因为函数也是对象,所以可当变量使用,示例如下:

var say = (str){
  print(str);
};
say("hi world");

3. 函数作为参数传递

因为函数也是对象,所以作为参数传递,示例如下:

void execute(var callback) {
    callback();
}
execute(() => print("xxx"))

4. 函数参数:可选的位置参数,可选的命名参数

可选的位置参数:包装一组函数参数,用[]标记为可选的位置参数,并放在参数列表的最后面。

String say(String from, String msg, [String? device]) {
  var result = '$from says $msg';
  if (device != null) {
    result = '$result with a $device';
  }
  return result;
}

say('Bob', 'Howdy'); //结果是: Bob says Howdy

say('Bob', 'Howdy', 'smoke signal'); //结果是:Bob says Howdy with a smoke signal

可选的命名参数:定义函数时,使用{param1, param2, …},放在参数列表的最后面,用于指定命名参数。

//设置[bold]和[hidden]标志
void enableFlags({bool bold, bool hidden}) {
    // ... 
}

enableFlags(bold: true, hidden: false);

注意,不能同时使用可选的位置参数和可选的命名参数

先就写这么多,下面就得边学习边总结,有什么不对的地方,欢迎留言讨论,谢谢!

相关文章

  • Dart简介2--函数

    说明 Dart是一种真正的面向对象的语言,所以即使是函数也是对象,并且有一个类型Function。这意味着函数可以...

  • 闲话Dart精髓语法3--函数篇

    闲话Dart精髓语法2--集合篇 - 简书 好了, 第三波我们来瞜一眼Dart里面的函数和操作符. 就是Funct...

  • Dart语法(下)

    前文链接: Dart简介 Dart语法(上) 内容: 函数(方法)函数定义及各类函数;函数参数;闭包 面向对象定义...

  • Dart语言(九)之异步支持

    简介 Dart类库有非常多的返回Future或者Stream对象的函数。这些函数被称为异步函数。它们只会在设置好一...

  • Dart基础(九)-异步支持

    1.简介:   Dart库充满了返回Future或Stream对象的函数;这些函数都是异步的。这些函数在做一些可能...

  • Flutter之Dart基础

    一. Hello Dart 1.1 Hello Dart 和大多数语言一样,Dart的入口函数也是Main函数,新...

  • 【Dart】函数

    声明函数 直接声明Dart中声明函数不需要function关键字 箭头函数+Dart中 的箭头函数中,函数体只能写...

  • Dart基础(四)-函数

    简介: Dart是一种真正的面向对象语言,所以函数也是对象,并且有一个类型Function。这意味着函数可以赋值给...

  • dart扩展函数的几种用法

    简介:从2.7及以上的dart版本开始,让人殷切期待的扩展函数来了。当你想扩展别人的函数库或者官方的SDK,如果通...

  • dart系列之:dart语言中的函数

    简介 函数是所有编程语言都有的内容,不管是面向对象还是面向过程,函数都是非常重要的一部分。dart中的函数和jav...

网友评论

      本文标题:Dart简介2--函数

      本文链接:https://www.haomeiwen.com/subject/nuuiortx.html