Dart语言快速学习上手(新手上路)

  1. // 声明返回值
  2. int add(int a, int b) {
  3. return a + b;
  4. }
  5.  
  6. // 不声明返回值
  7. add2(int a, int b) {
  8. return a + b;
  9. }
  10.  
  11. // =>是return语句的简写
  12. add3(a, b) => a + b;
  13.  
  14. //命名参数、位置参数、参数默认值
  15.  
  16. sayHello({String name}) {
  17. print("hello, my name is $name");
  18. }
  19.  
  20. sayHello2({name: String}) {
  21. print("hello, my name is $name");
  22. }
  23.  
  24. //位置参数
  25. sayHello(String name, int age, [String hobby]) { // 位置参数可以有多个,比如[String a, int b]
  26. StringBuffer sb = new StringBuffer();
  27. sb.write("hello, this is $name and I am $age years old");
  28. if (hobby != null) {
  29. sb.write(", my hobby is $hobby");
  30. }
  31. print(sb.toString());
  32. }
  33.  
  34. // 命名参数的默认值
  35. int add({int a, int b = 3}) { // 不能写成:int add({a: int, b: int = 3})
  36. return a + b;
  37. }
  38.  
  39. // 位置参数的默认值
  40. int sum(int a, int b, [int c = 3]) {
  41. return a + b + c;
  42. }
  43.  
  44. //函数作为一类对象
  45.  
  46. printNum(int a) {
  47. print("$a");
  48. }
  49.  
  50. //将一个函数赋值给某个变量
  51. printNum(int a) {
  52. print("$a");
  53. }
  54.  
  55. //匿名函数
  56.  
  57. test(Function callback) {
  58. callback("hello");
  59. }
  60.  
  61. //
  62.  
  63. void main() {
  64.  
  65. print("hello world!");
  66.  
  67. var a = 1;
  68. int b = 10;
  69. String s = "hello";
  70. dynamic c = 0.5;
  71.  
  72. var count = 10;
  73. final Num = count; // final 只能赋值一次
  74. const Num1 = 10; // const赋值必须是编译时常量
  75.  
  76. // numbers
  77. var a = 0;
  78. int b = 1;
  79. double c = 0.1;
  80.  
  81. // strings
  82. var s1 = 'hello';
  83. String s2 = "world";
  84.  
  85. // booleans
  86. var real = true;
  87. bool isReal = false;
  88.  
  89. // lists
  90. var arr = [1, 2, 3, 4, 5];
  91. List<String> arr2 = ['hello', 'world', "123", "456"];
  92. List<dynamic> arr3 = [1, true, 'haha', 1.0];
  93.  
  94. // maps
  95. var map = new Map();
  96. map['name'] = 'zhangsan';
  97. map['age'] = 10;
  98. Map m = new Map();
  99. m['a'] = 'a';
  100.  
  101. //runes,Dart 中 使用runes 来获取UTF-32字符集的字符。String的 codeUnitAt and codeUnit属性可以获取UTF-16字符集的字符
  102. var clapping = '\u{1f44f}';
  103. print(clapping); // 打印的是拍手emoji的表情
  104.  
  105. // symbols
  106. print(#s == new Symbol("s")); // true
  107.  
  108. print(add(1, 2)); // 3
  109. print(add2(2, 3)); // 5
  110. print(add3(1, 2)); // 3
  111.  
  112. // hello, this is zhangsan and I am 20 years old
  113. sayHello("zhangsan", 20);
  114. // hello, this is zhangsan and I am 20 years old, my hobby is play football
  115. sayHello("zhangsan", 20, "play football");
  116.  
  117. // 依次打印:
  118. // 1
  119. // 2
  120. // 3
  121. var arr = [1, 2, 3];
  122. arr.forEach(printNum);
  123.  
  124. var f1 = printNum;
  125. Function f2 = printNum;
  126. var f3 = (int a) => print("a = $a");
  127. f1(1);
  128. f2(2);
  129. f3(6);
  130.  
  131. test((param) {
  132. // 打印hello
  133. print(param);
  134. });
  135.  
  136. }

  

Dart语言快速学习上手(新手上路)的更多相关文章

  1. R语言快速入门上手

    导言:     较早之前就听说R是一门便捷的数据分析工具,但由于课程设计的原因,一直没有空出足够时间来进行学习.最近自从决定本科毕业出来找工作之后,渐渐开始接触大数据行业的技术,现在觉得是时候把R拿下 ...

  2. 如何高效、快速学习Flutter?如何避坑?(文末送服福利)

    稳住,今天是周末,不过我今天要上班....啊..啊... 对于 Flutter 我没有太多的发言权,不过GSY是对 Flutter 充分理解并精深掌握的前辈了,所以转一篇他对 Flutter 的一些解 ...

  3. Fluter基础巩固之Dart语言详解<三>

    继续Dart语言的学习,这次过后下次就进入全新的Flutter的学习了,小小的激动.. 操作符重载: C++中也有,咱们来看一下在Dart中是如何来实现的: 比较简单. 异步[重要!]: async和 ...

  4. 快速学习C语言一: Hello World

    估计不会写C语言的同学也都听过C语言,从头开始快速学一下吧,以后肯定能用的上. 如果使用过其它类C的语言,如JAVA,C#等,学C的语法应该挺快的. 先快速学习并练习一些基本的语言要素,基本类型,表达 ...

  5. Flutter学习笔记(2)--Dart语言简介

    Dart简介: Dart诞生于2011年10月10日,Dart是一种"结构化的web编程"语言,Dart虽然是谷歌开发的计算机编程语言,但后来被ECMA认定位标准,这门语言用于We ...

  6. Dart语言学习(十) Dart流程控制语句

    一.条件语句:if.if...elseif.if...elseif...else int score = 95; if (score >=90) { print('优秀'); } else if ...

  7. Flutter学习二之Dart语言介绍

    上次我记录了Flutter的环境搭建,这次来简单记录一下Drat语言,Flutter是 Google推出并开源的移动应用开发框架,开发语言是Dart,那么Dart语言和其他的语言在语法上有上面区别呢, ...

  8. Atitit.dart语言的特性  编译时js语言大总结

    Atitit.dart语言的特性  编译时js语言大总结 1. 原型环境1 1.1. Dart可以编译js3 2. 第二个期待的理由是Dart的语言特性,没有什么特别特性好像,类似java c#一小时 ...

  9. Swift语言快速入门

    Swift语言快速入门(首部同步新版官方API文档和语法的Swift图书,确保代码可编译,作者专家在线答疑,图书勘误实时跟进) 极客学院 编著   ISBN 978-7-121-24328-8 201 ...

随机推荐

  1. nginx配置文件优化

    nginx配置优化     #定义Nginx运行的用户和用户组user  www  www: #启动工作进程,通常设置成和cpu的数量相等worker_processes  8:   最多开启8个,8 ...

  2. 常用脚本lnmp

    3)安装lnmp脚本只供参考需修改相应参数 #!/bin/bash#Function: Install LNMP#Author: wang#Date: 20170809 nginx_install() ...

  3. Ajax三级联动

    全国省市县查询 html代码 <!doctype html> <html> <head> <meta charset="utf-8"> ...

  4. sql 查询每科的前三名

    废话不多说,直接上脚本 CREATE TABLE [dbo].[Students]( ,) NOT NULL, ) NULL, ) NULL, [score] [int] NOT NULL, CONS ...

  5. ReentrantLock源码(一)

    一.简介. ReentrantLock 是一个互斥锁,在基本行为和机制上与synchonized一样,只不过synchonized用方法和声明访问了隐式的锁监视器,但是ReentrantLock 做了 ...

  6. centos下jdk、jre安装

    1.在/usr/目录下创建java目录 [root@localhost ~]# mkdir/usr/java [root@localhost ~]# cd /usr/java 2.下载jdk,然后解压 ...

  7. 【Hive学习之二】Hive SQL

    环境 虚拟机:VMware 10 Linux版本:CentOS-6.5-x86_64 客户端:Xshell4 FTP:Xftp4 jdk8 hadoop-3.1.1 apache-hive-3.1.1 ...

  8. python 查询文本文件的层次

    I/O系统有一系列的层次构建而成 下面是操作一个文本文件的例子来查看这种层次 >>> f = open('sample.txt','w') >>> f <_i ...

  9. 设计模式之Composite(组合)(转)

    Composite定义: 将对象以树形结构组织起来,以达成"部分-整体" 的层次结构,使得客户端对单个对象和组合对象的使用具有一致性. Composite比较容易理解,想到Comp ...

  10. create-react-app @observer装饰器报错

    npm install --save-dev babel-plugin-transform-decorators-legacy 然后在node_modules/babel-preset-react-a ...