dart 乘方运算符_Flutter系列之Dart函数、类与运算符

编程语言虽然千差万别,但归根结底,设计思想无非是表示信息与处理信息

在Flutter系列之Dart语言概述中已经介绍了Dart如何表示信息,本篇将介绍Dart是如何处理信息的

作为一门真正面向对象的编程语言,Dart将处理信息的过程抽象为了对象,而函数、类与运算符则是抽象中最重要的手段

函数

函数是一段用来独立完成某个功能的代码片段,而Dart中所有类型都是对象类型,函数也不例外,即函数也是对象,它的类型为Function。

void main() {

Function check = isEmptyStr;

printStr('',check);

printStr('Hello World!',check);

}

bool isEmptyStr(String str){//判断字符串是否为null

return str.isEmpty;

}

void printStr(String str,Function check){//用check函数来判断String是否为null

if (check(str)) {

print('$str is null');

}else {

print('$str is not null');

}

}

is null

Hello World! is not null

上面代码中,首先定义了一个判断字符串是否为null的函数isEmptyStr,并把它传给了另一个打印输出的函数printStr,即函数也可以被定义为变量,甚至可以作为参数传递给其他函数

日常开发中,经常会遇到一个函数中需要传递多个参数的情况,这种情况下Dart与其他语言如c、c++、java等的做法是不同的

c、c++、java等的做法是提供函数的重载,即函数同名但参数不同,而Dart认为重载会导致混乱,因此不支持重载,而是提供了可选参数和可选命名参数

具体方式为,在申明函数时:

·给参数添加{},以paramName:value的方式指定调用参数,即可选命名参数

·给参数加[],则意味着这些参数可以忽略,即可选参数

不仅如此,在使用这两种方式定义函数时,还可以给参数设置默认值

注意:可选参数和可选命名参数不可一起使用,可选参数和可选命名参数在申明时需放在其他参数后面,且可选命名参数调用时与申明的顺序无关,但可选参数调用时与申明的顺序有关

void main() {

_ptionalNamedParameter('Tom',2,sex:'男');

_ptionalNamedParameter('Tom',2,sex:'男',age:5);

_ptionalNamedParameter('Tom',2);

_ptionalNamedParameter('Tom',2,age:25);

_ptionalNamedParameter('Tom',2,age:18,sex:'女');

_ptionalParameter('Tom',2,'男');

_ptionalParameter('Tom',2,'男',5);

_ptionalParameter('Tom',2);

//_ptionalParameter('Tom',2,25);//错误

//_ptionalParameter('Tom',2,18,'女');//错误

}

bool isNotEmptyStr(String str) {

return str.isNotEmpty;

}

void printStr(String str,Function

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值