1. /*
  2. 内置方法/函数:
  3.  
  4. print();
  5.  
  6. 自定义方法:
  7. 自定义方法的基本格式:
  8.  
  9. 返回类型 方法名称(参数1,参数2,...){
  10. 方法体
  11. return 返回值;
  12. }
  13. */
  14.  
  15. void printInfo(){
  16. print('我是一个自定义方法');
  17. }
  18.  
  19. int getNum(){
  20. var myNum=123;
  21. return myNum;
  22. }
  23.  
  24. String printUserInfo(){
  25.  
  26. return 'this is str';
  27. }
  28.  
  29. List getList(){
  30.  
  31. return ['111','2222','333'];
  32. }
  33.  
  34. void main(){
  35.  
  36. // print('调用系统内置的方法');
  1. //调用方法传参
  2.  
  3. main() {
  4.  
  5. //1、定义一个方法 求1到这个数的所有数的和 60 1+2+3+。。。+60
  6.  
  7. /*
  8. int sumNum(int n){
  9. var sum=0;
  10. for(var i=1;i<=n;i++)
  11. {
  12. sum+=i;
  13. }
  14. return sum;
  15. }
  16.  
  17. var n1=sumNum(5);
  18. print(n1);
  19. var n2=sumNum(100);
  20. print(n2);
  21.  
  22. */
  23.  
  24. //2、定义一个方法然后打印用户信息
  25.  
  26. // String printUserInfo(String username,int age){ //行参
  27. // return "姓名:$username---年龄:$age";
  28. // }
  29.  
  30. // print(printUserInfo('张三',20)); //实参
  31.  
  32. //3、定义一个带可选参数的方法
  33.  
  34. // String printUserInfo(String username,[int age]){ //行参
  35.  
  36. // if(age!=null){
  37. // return "姓名:$username---年龄:$age";
  38. // }
  39. // return "姓名:$username---年龄保密";
  40.  
  41. // }
  42.  
  43. // // print(printUserInfo('张三',21)); //实参
  44.  
  45. // print(printUserInfo('张三'));
  46.  
  47. //4、定义一个带默认参数的方法
  48.  
  49. // String printUserInfo(String username,[String sex='男',int age]){ //行参
  50.  
  51. // if(age!=null){
  52. // return "姓名:$username---性别:$sex--年龄:$age";
  53. // }
  54. // return "姓名:$username---性别:$sex--年龄保密";
  55.  
  56. // }
  57.  
  58. // print(printUserInfo('张三'));
  59.  
  60. // print(printUserInfo('小李','女'));
  61.  
  62. // print(printUserInfo('小李','女',30));
  63.  
  64. //5、定义一个命名参数的方法
  65.  
  66. // String printUserInfo(String username,{int age,String sex='男'}){ //行参
  67.  
  68. // if(age!=null){
  69. // return "姓名:$username---性别:$sex--年龄:$age";
  70. // }
  71. // return "姓名:$username---性别:$sex--年龄保密";
  72.  
  73. // }
  74.  
  75. // print(printUserInfo('张三',age:20,sex:'未知'));
  76.  
  77. //6、实现一个 把方法当做参数的方法
  78. // var fn=(){
  79.  
  80. // print('我是一个匿名方法');
  81. // };
  82. // fn();
  83.  
  84. //方法
  85. fn1(){
  86. print('fn1');
  87. }
  88.  
  89. //方法
  90. fn2(fn){
  91. fn();
  92. }
  93. //调用fn2这个方法 把fn1这个方法当做参数传入
  94. fn2(fn1);
  95. }
  1.  
  1. // printInfo();
  2. // var n=getNum();
  3. // print(n);
  4. // print(printUserInfo());
  5. // print(getList());
  6.  
  7. // print(getList());
  8.  
  9. //演示方法的作用域
  10. void xxx(){
  11. aaa(){
  12. print(getList());
  13. print('aaa');
  14. }
  15. aaa();
  16. }
  17. // aaa(); 错误写法
  18. xxx(); //调用方法
  19. }

Dart函数方法的更多相关文章

  1. Dart语言学习(十五) Dart函数方法

    Dart函数方法可分为两类: 一.内置方法/函数: print(); 二.自定义方法: 自定义方法的基本格式: 返回类型 方法名称(参数1,参数2,...){ 方法体 return 返回值; } vo ...

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

    如需转载,请注明出处:Flutter学习笔记(4)--Dart函数 Dart是一个面向对象的语言,所以函数也是对象,函数属于Function对象,函数可以像参数一样传递给其他函数,这样便于做回调处理: ...

  3. 你真的会玩SQL吗?实用函数方法汇总

    你真的会玩SQL吗?系列目录 你真的会玩SQL吗?之逻辑查询处理阶段 你真的会玩SQL吗?和平大使 内连接.外连接 你真的会玩SQL吗?三范式.数据完整性 你真的会玩SQL吗?查询指定节点及其所有父节 ...

  4. MS SQL Server中数据表、视图、函数/方法、存储过程是否存在判断及创建

    前言 在操作数据库的时候经常会用到判断数据表.视图.函数/方法.存储过程是否存在,若存在,则需要删除后再重新创建.以下是MS SQL Server中的示例代码. 数据表(Table) 创建数据表的时候 ...

  5. 如何设计PHP业务模块(函数/方法)返回结果的结构?

    如题:如何设计业务模块返回结果的结构? 一个业务函数/方法执行后,对外输出数据的结构通常有以下几种: 1.返回数字,如 成功时返回 0,失败时返回 -1,有的还会用一个全局变量输出错误信息: < ...

  6. paip.函数方法回调机制跟java php python c++的实现

    paip.函数方法回调机制跟java php python c++的实现 作者Attilax 艾龙,  EMAIL:1466519819@qq.com 来源:attilax的专栏 地址:http:// ...

  7. thinkphp模版调用函数方法

    原文:thinkphp模版调用函数方法 {变量|函数1|函数2|函数3=参数1,参数2,参数3,###} ###为第4个参数,代表变量替换为第4个参数 举例: {$username|substr=0, ...

  8. jQuery中常用的函数方法

    jQuery中常用的函数方法总结 Ajax处理 load(url,[data],[callback]) url (String) : 待装入 HTML 网页网址. data (Map) : (可选) ...

  9. JavaScript 函数(方法)的封装技巧要领及其重要性

    作为一枚程序猿,想必没有人不知道函数封装吧.在一个完整的项目开发中,我们会在JS代码中对一些常用(多个地方调用)的操作进行一个函数的封装,这样便于我们调试和重复调用,以致于能够在一定程度上减少代码的冗 ...

随机推荐

  1. linux网络编程之socket编程(二)

    今天继续对socket编程进行研究,这里会真正开如用socket写一个小例子,进入正题: TCP客户/服务器模型:   关于这个模型的流程这里就不多说了,比较容易理解,下面则利用这种模型来编写一个实际 ...

  2. js在点击的按钮下面弹框

    效果如图,点击对应的按钮时,弹框会在对应的按钮下面显示,可以应用于列表等场景 前端代码 <%@ Page Language="C#" AutoEventWireup=&quo ...

  3. sublime——开启自动保存

    前言 懒 步骤 失去焦点自动保存 "save_on_focus_lost": true 首选项-->设置-->Ctrl+F搜索‘save’,找到“save_on_foc ...

  4. (转载) 从0开始搭建SQL Server AlwaysOn 第一篇(配置域控)

    安装完之后别忘了还需要安装SSMS,这是坑爹的地方之二,干嘛不集成到SQL Server安装包里还要用户自己单独下载 下载地址:https://msdn.microsoft.com/en-us/lib ...

  5. PostgreSQL 查看表、索引等创建时间

    select s.oid,s.relname,t.stausename,t.stasubtype from pg_class s,pg_stat_last_operation t where s.re ...

  6. 2019/7/22----tomacat配置web页面访问路径

    tomcat----conf-----Catalina----localhost----cms.xml,cms.xml文件中添加: <?xml version='1.0' encoding=&q ...

  7. 计蒜客模拟赛 #5 (B 题) 动态点分治+线段树

    虽然是裸的换根dp,但是为了在联赛前锻炼码力,强行上了点分树+线段树. 写完+调完总共花了不到 $50$ 分钟,感觉还行. code: #include <bits/stdc++.h> # ...

  8. 模板 - 数据结构 - ST表/SparseTable

    SparseTable,俗称ST表,其功能,就是静态的RMQ(区间最值查询)问题的解决.注意传入查询的时候两个参数的合法性,或者可以进行一次全部初始化来使得越界值不产生负面影响.不过访问越界是写程序的 ...

  9. Latex 数字加粗后变宽 Latex bold without increasing the length of the text

    Add the following code at the beginning of the article \newsavebox\CBox \def\textBF#1{\sbox\CBox{#1} ...

  10. switchcase的用法

    <script> var level = prompt("请输入员工评级"); var salary = 5000; switch (level) { case &qu ...