当前位置: 萬仟网 > IT编程>移动>Android > Flutter学习笔记(4)--Dart函数

Flutter学习笔记(4)--Dart函数

2019年07月11日 14:30  | 萬仟网IT编程  | 我要评论

如需转载,请注明出处:flutter学习笔记(4)--dart函数

dart是一个面向对象的语言,所以函数也是对象,函数属于function对象,函数可以像参数一样传递给其他函数,这样便于做回调处理;

一.指定返回值的函数

 

//判断两个字符串是否相等
bool isequal(string name1,string name2){
    return name1 == name2;
}
print(isequal('张三','李四'));

//打印结果:false

 

上面的示例我们指定了参数的类型,在不确定参数的类型的情况下,我们的参数可以用dynamic、object或var来接收参数

//判断两个字符串是否相等
bool isequal(dynamic name1,var name2){
    return name1 == name2;
}
print(isequal('张三','李四'));

//打印结果:false

二.不指定返回值的函数

//判断两个字符串是否相等
isequal(string name1,string name2){
    return name1 == name2;
}
print(isequal('张三','李四'));

//打印结果:false

//打印文本
isequal(dynamic name1,object name2){
    var result = '$name1和$name2的名字是否相同';
    if(name1 == name2){
        result = '$name1和$name2的名字不同';
    }else{
        result = '$name1和$name2的名字相同';
}
    return result;
}

print(isequal('张三','李四'));

//打印结果:张三和李四的名字不同

三.如果函数里面只有一个表达式,则可以这样简写

void printsth(string content) => print('hello word');

四.可选参数

一个函数可以有两种参数:必须的和可选的,必须参数要放在前面,可选参数(即可以不传)要放在后面;

可选参数又分为两种:位置参数和命名参数,两种参数都可以设置默认值,如果没有设置默认值,则默认值为null;

1.可选的命名参数

定义一个函数,使用{string param1,string param2,...........}指定命名参数,在调用方法的时候,需要指出你要给哪个参数进行传值,如:

(1)无默认值例子:

void printsth(string param1,{string param2,string param3}) => print(param1+'让'+param2+'打'+param3);

printsth('张三',param2:'李四',param3:'王五');

//打印结果:张三让李四打王五

void printsth(string param1,{string param2,string param3}) => print(param1+'让'+param2+'打'+param3);

printsth('张三',param2:'李四');

//打印结果:张三让李四打null

这里我们可以看到必须参数和可选的命名参数的区别,必须参数直接传值,可选的命名参数需要指定参数名进行传值,如果没有传值,则默认值为null;

(2)有默认值的例子

void printsth(string param1,{string param2,string param3:'王五'}) => print(param1+'让'+param2+'打'+param3);

printsth('张三',param2:'李四');

//打印结果:张三让李四打王五

2.可选的位置参数

 

与可选的命名参数不同,可选的位置参数需要通过[]将参数包裹起来,就能标识成位置参数

(1)没有默认值的例子

 

void printsth(string param1,[string param2,string param3]) => print(param1+'让'+param2+'打'+param3);

printsth('张三','李四','王五');

//打印结果:张三让李四打王五

void printsth(string param1,[string param2,string param3]) => print(param1+'让'+param2+'打'+param3);

printsth('张三','李四');

//打印结果:张三让李四打null

 

(2)有默认值的例子

void printsth(string param1,[string param2,string param3 = '王五']) => print(param1+'让'+param2+'打'+param3);

printsth('张三','李四');

//打印结果:张三让李四打王五

总结一下命名参数和位置参数

命名参数:使用{}将参数包裹起来,传参时需要指定参数名,默认值使用“:”指定;

位置参数:使用[]将参数包裹起来,传参时不需要指定参数名,按位排,默认值使用“=”指定;

五.main函数

flutter应用程序必须要有一个main函数,和其他语言一样作为程序的入口函数,下面的代码表示应用要启动myapp类;

void main() => runapp(myapp());

六.函数的返回值

在dart语言中,函数的返回值有如下特点:

1.所有的函数都会有返回值;

2.如果没有指定函数的返回值,则默认的返回值是null;

3.没有返回值的函数,系统会在最后添加隐式的return语句;

 

如对本文有疑问,请在下面进行留言讨论,广大热心网友会与你互动!! 点击进行留言回复

相关文章:

◎已有 0 人评论

Copyright © 2019  萬仟网 保留所有权利. 粤ICP备17035492号-1
站长QQ:2386932994 | 联系邮箱:2386932994@qq.com