Dart语言快速学习上手(新手上路)
Dart语言快速学习上手(新手上路)
- // 声明返回值
- int add(int a, int b) {
- return a + b;
- }
- // 不声明返回值
- add2(int a, int b) {
- return a + b;
- }
- // =>是return语句的简写
- add3(a, b) => a + b;
- //命名参数、位置参数、参数默认值
- sayHello({String name}) {
- print("hello, my name is $name");
- }
- sayHello2({name: String}) {
- print("hello, my name is $name");
- }
- //位置参数
- sayHello(String name, int age, [String hobby]) { // 位置参数可以有多个,比如[String a, int b]
- StringBuffer sb = new StringBuffer();
- sb.write("hello, this is $name and I am $age years old");
- if (hobby != null) {
- sb.write(", my hobby is $hobby");
- }
- print(sb.toString());
- }
- // 命名参数的默认值
- int add({int a, int b = 3}) { // 不能写成:int add({a: int, b: int = 3})
- return a + b;
- }
- // 位置参数的默认值
- int sum(int a, int b, [int c = 3]) {
- return a + b + c;
- }
- //函数作为一类对象
- printNum(int a) {
- print("$a");
- }
- //将一个函数赋值给某个变量
- printNum(int a) {
- print("$a");
- }
- //匿名函数
- test(Function callback) {
- callback("hello");
- }
- //
- void main() {
- print("hello world!");
- var a = 1;
- int b = 10;
- String s = "hello";
- dynamic c = 0.5;
- var count = 10;
- final Num = count; // final 只能赋值一次
- const Num1 = 10; // const赋值必须是编译时常量
- // numbers
- var a = 0;
- int b = 1;
- double c = 0.1;
- // strings
- var s1 = 'hello';
- String s2 = "world";
- // booleans
- var real = true;
- bool isReal = false;
- // lists
- var arr = [1, 2, 3, 4, 5];
- List<String> arr2 = ['hello', 'world', "123", "456"];
- List<dynamic> arr3 = [1, true, 'haha', 1.0];
- // maps
- var map = new Map();
- map['name'] = 'zhangsan';
- map['age'] = 10;
- Map m = new Map();
- m['a'] = 'a';
- //runes,Dart 中 使用runes 来获取UTF-32字符集的字符。String的 codeUnitAt and codeUnit属性可以获取UTF-16字符集的字符
- var clapping = '\u{1f44f}';
- print(clapping); // 打印的是拍手emoji的表情
- // symbols
- print(#s == new Symbol("s")); // true
- print(add(1, 2)); // 3
- print(add2(2, 3)); // 5
- print(add3(1, 2)); // 3
- // hello, this is zhangsan and I am 20 years old
- sayHello("zhangsan", 20);
- // hello, this is zhangsan and I am 20 years old, my hobby is play football
- sayHello("zhangsan", 20, "play football");
- // 依次打印:
- // 1
- // 2
- // 3
- var arr = [1, 2, 3];
- arr.forEach(printNum);
- var f1 = printNum;
- Function f2 = printNum;
- var f3 = (int a) => print("a = $a");
- f1(1);
- f2(2);
- f3(6);
- test((param) {
- // 打印hello
- print(param);
- });
- }
Dart语言快速学习上手(新手上路)的更多相关文章
- R语言快速入门上手
导言: 较早之前就听说R是一门便捷的数据分析工具,但由于课程设计的原因,一直没有空出足够时间来进行学习.最近自从决定本科毕业出来找工作之后,渐渐开始接触大数据行业的技术,现在觉得是时候把R拿下 ...
- 如何高效、快速学习Flutter?如何避坑?(文末送服福利)
稳住,今天是周末,不过我今天要上班....啊..啊... 对于 Flutter 我没有太多的发言权,不过GSY是对 Flutter 充分理解并精深掌握的前辈了,所以转一篇他对 Flutter 的一些解 ...
- Fluter基础巩固之Dart语言详解<三>
继续Dart语言的学习,这次过后下次就进入全新的Flutter的学习了,小小的激动.. 操作符重载: C++中也有,咱们来看一下在Dart中是如何来实现的: 比较简单. 异步[重要!]: async和 ...
- 快速学习C语言一: Hello World
估计不会写C语言的同学也都听过C语言,从头开始快速学一下吧,以后肯定能用的上. 如果使用过其它类C的语言,如JAVA,C#等,学C的语法应该挺快的. 先快速学习并练习一些基本的语言要素,基本类型,表达 ...
- Flutter学习笔记(2)--Dart语言简介
Dart简介: Dart诞生于2011年10月10日,Dart是一种"结构化的web编程"语言,Dart虽然是谷歌开发的计算机编程语言,但后来被ECMA认定位标准,这门语言用于We ...
- Dart语言学习(十) Dart流程控制语句
一.条件语句:if.if...elseif.if...elseif...else int score = 95; if (score >=90) { print('优秀'); } else if ...
- Flutter学习二之Dart语言介绍
上次我记录了Flutter的环境搭建,这次来简单记录一下Drat语言,Flutter是 Google推出并开源的移动应用开发框架,开发语言是Dart,那么Dart语言和其他的语言在语法上有上面区别呢, ...
- Atitit.dart语言的特性 编译时js语言大总结
Atitit.dart语言的特性 编译时js语言大总结 1. 原型环境1 1.1. Dart可以编译js3 2. 第二个期待的理由是Dart的语言特性,没有什么特别特性好像,类似java c#一小时 ...
- Swift语言快速入门
Swift语言快速入门(首部同步新版官方API文档和语法的Swift图书,确保代码可编译,作者专家在线答疑,图书勘误实时跟进) 极客学院 编著 ISBN 978-7-121-24328-8 201 ...
随机推荐
- nginx配置文件优化
nginx配置优化 #定义Nginx运行的用户和用户组user www www: #启动工作进程,通常设置成和cpu的数量相等worker_processes 8: 最多开启8个,8 ...
- 常用脚本lnmp
3)安装lnmp脚本只供参考需修改相应参数 #!/bin/bash#Function: Install LNMP#Author: wang#Date: 20170809 nginx_install() ...
- Ajax三级联动
全国省市县查询 html代码 <!doctype html> <html> <head> <meta charset="utf-8"> ...
- sql 查询每科的前三名
废话不多说,直接上脚本 CREATE TABLE [dbo].[Students]( ,) NOT NULL, ) NULL, ) NULL, [score] [int] NOT NULL, CONS ...
- ReentrantLock源码(一)
一.简介. ReentrantLock 是一个互斥锁,在基本行为和机制上与synchonized一样,只不过synchonized用方法和声明访问了隐式的锁监视器,但是ReentrantLock 做了 ...
- centos下jdk、jre安装
1.在/usr/目录下创建java目录 [root@localhost ~]# mkdir/usr/java [root@localhost ~]# cd /usr/java 2.下载jdk,然后解压 ...
- 【Hive学习之二】Hive SQL
环境 虚拟机:VMware 10 Linux版本:CentOS-6.5-x86_64 客户端:Xshell4 FTP:Xftp4 jdk8 hadoop-3.1.1 apache-hive-3.1.1 ...
- python 查询文本文件的层次
I/O系统有一系列的层次构建而成 下面是操作一个文本文件的例子来查看这种层次 >>> f = open('sample.txt','w') >>> f <_i ...
- 设计模式之Composite(组合)(转)
Composite定义: 将对象以树形结构组织起来,以达成"部分-整体" 的层次结构,使得客户端对单个对象和组合对象的使用具有一致性. Composite比较容易理解,想到Comp ...
- create-react-app @observer装饰器报错
npm install --save-dev babel-plugin-transform-decorators-legacy 然后在node_modules/babel-preset-react-a ...