Dart语言学习(十五) Dart函数方法
Dart函数方法可分为两类: 一、内置方法/函数:
print();
二、自定义方法:
自定义方法的基本格式:
返回类型 方法名称(参数1,参数2,...){
方法体
return 返回值;
}
void printInfo(){
print('我是一个自定义方法');
}
int getNum(){
var myNum=;
return myNum;
}
String printUserInfo(){
return 'this is UserInfo';
}
List getList(){
return ['','',''];
}
void main(){
// print('调用系统内置的方法');
}
自定义方法 例1、定义一个方法 求1到这个数的所有数的和
int sumNum(int n){
var sum=;
for(var i=;i<=n;i++)
{
sum+=i;
}
return sum;
}
var n1=sumNum();
print(n1);
var n2=sumNum();
print(n2);
自定义方法 例2、定义一个方法然后打印用户信息
String printUserInfo(String username,int age){ //行参
return "姓名:$username---年龄:$age";
}
print(printUserInfo('张三',20)); //实参
自定义方法 例3、定义一个带可选参数的方法
String printUserInfo(String username,[int age]){ //行参
if(age!=null){
return "姓名:$username---年龄:$age";
}
return "姓名:$username---年龄保密";
}
print(printUserInfo('张三',)); //实参
print(printUserInfo('张三'));
自定义方法 例4、定义一个带默认参数的方法
String printUserInfo(String username,[String sex='男',int age]){ //行参
if(age!=null){
return "姓名:$username---性别:$sex--年龄:$age";
}
return "姓名:$username---性别:$sex--年龄保密";
}
print(printUserInfo('张三'));
print(printUserInfo('小李','女'));
print(printUserInfo('小李','女',));
自定义方法 例5、定义一个命名参数的方法
String printUserInfo(String username,{int age,String sex='男'}){ //行参
if(age!=null){
return "姓名:$username---性别:$sex--年龄:$age";
}
return "姓名:$username---性别:$sex--年龄保密";
}
print(printUserInfo('张三',age:,sex:'未知'));
自定义方法 例6、实现一个 把方法当做参数的方法
var fn=(){
print('我是一个匿名方法');
};
fn();
//方法
fn1(){
print('fn1');
} //方法
fn2(fn){
fn();
}
//调用fn2这个方法 把fn1这个方法当做参数传入
fn2(fn1);
本文链接:https://www.cnblogs.com/jukaiit/p/12260739.html
Dart学习系列文章:https://www.cnblogs.com/jukaiit/category/1636484.html
Dart语言学习(十五) Dart函数方法的更多相关文章
- Dart语言学习(十二) Dart面向对象
Dart作为一种高级语言,支持面向对象的很多特性,并且支持基于mixin的继承方式. 基于mixin的继承方式是指:一个类可以继承自多个父类,相当于其他语言里的多继承. 所有的类都有同一个基类Obje ...
- Dart语言学习(十四) Dart泛型
什么是泛型? 通俗理解:泛型就是解决 类 接口 方法的复用性.以及对不特定数据类型的支持(类型校验) 如下代码,只能返回string类型的数据 String getData(String value) ...
- Dart语言学习(十) Dart流程控制语句
一.条件语句:if.if...elseif.if...elseif...else int score = 95; if (score >=90) { print('优秀'); } else if ...
- 【原创】go语言学习(五)函数详解1
目录 1.函数介绍 2.多返回值和可变参数 3.defer语句 4.内置函数介绍 1.函数介绍 1.1定义: 有输⼊入.有输出,⽤用来执⾏行行⼀一个指定任务的代码块. func functionnam ...
- “全栈2019”Java第九十五章:方法中可以定义静态局部内部类吗?
难度 初级 学习时间 10分钟 适合人群 零基础 开发语言 Java 开发环境 JDK v11 IntelliJ IDEA v2018.3 文章原文链接 "全栈2019"Java第 ...
- “全栈2019”Java第五十五章:方法的静态绑定与动态绑定
难度 初级 学习时间 10分钟 适合人群 零基础 开发语言 Java 开发环境 JDK v11 IntelliJ IDEA v2018.3 文章原文链接 "全栈2019"Java第 ...
- Go语言学习笔记七: 函数
Go语言学习笔记七: 函数 Go语言有函数还有方法,神奇不.这有点像python了. 函数定义 func function_name( [parameter list] ) [return_types ...
- Go语言学习笔记五: 条件语句
Go语言学习笔记五: 条件语句 if语句 if 布尔表达式 { /* 在布尔表达式为 true 时执行 */ } 竟然没有括号,和python很像.但是有大括号,与python又不一样. 例子: pa ...
- Dart语言学习(七)Dart Map类型
映射(Maps)是无序的键值对: 常用属性: keys 获取所有的key值 values 获取所有的value值 isEmpty 是否为空 isNotEmpty 是否不为空 常用方法: remove( ...
随机推荐
- 使用python实现冒泡、选择、插入基础排序
冒泡排序 依次比较相邻两元素,若前一元素大于后一元素则交换之,直至最后一个元素即为最大: 然后重新从首元素开始重复同样的操作,直至倒数第二个元素即为次大元素: 依次类推.如同水中的气泡,依次将最大或最 ...
- JetBrains PyCharm 2018.2.1 x64永久激活码
812LFWMRSH-eyJsaWNlbnNlSWQiOiI4MTJMRldNUlNIIiwibGljZW5zZWVOYW1lIjoi5q2j54mIIOaOiOadgyIsImFzc2lnbmVlT ...
- Linux中配置JDK的环境变量
一. 解压安装jdk 在shell终端下进入jdk-6u14-linux-i586.bin文件所在目录, 执行命令 ./jdk-6u14-linux-i586.bin 这时会出现一段协议,连继敲回车, ...
- Boxes and Candies
问题 G: Boxes and Candies 时间限制: 1 Sec 内存限制: 128 MB[提交] [状态] 题目描述 There are N boxes arranged in a row. ...
- mysql学习笔记(四):group by,limit,to_days(),from_days()
1. [Err] 1055 - Expression #2 of SELECT list is not in GROUP BY clause and contains nonaggregated co ...
- linux 下部署web 程序
linux 下部署web 程序 1. 创建ucenter用户 一般情况下,发布应用程序都不是使用root用户的,需要创建一个普通用户来发布程序: 创建ucenter用户: useradd -d /uc ...
- python应用-使用python控制win2003服务器
经调研和测试,服务端可通过ansible控制各linux服务器(容器),进行各类操作,且支持远程控制windows服务器,但windows操作系统中,需安装.net及powershell3.0及以上版 ...
- 探讨LoadRunner的并发用户和集合点
近来跟踪一个项目,发现同事们在执行性能测试时,比较热衷于使用集合点,从概念上认为要得到并发用户就必须设置集合点,认为在执行一个压力测试脚本时,设置了集合点才算是有效的并发用户,没有设置结合点,就认为可 ...
- Echarts字体和线条颜色设置操作笔记
在网上偶然看到的一篇文章 感觉不错 下面是原著地址 原著地址:https://blog.csdn.net/eastmount/article/details/52823548
- workflow1
var workflowDef = { start:{ fn:"begin", //对应处理方法可以在内部定义,也可以在外部定义 next:["task1",& ...