Dart执行入口

Dart要求以main函数作为执行的入口

Dart的变量和类型

  • 在Dart中可以用var或者具体的类型来声明一个变量。当使用var定义变量时,表示类型是由编译器推断决定。使用静态类型去定义变量时,编辑器和编译器可以提供代码补全或编译警告的提示。
  • 在默认情况下,未初始化的变量的值都是null。
  • Dart是类型安全的语言,并且所有类型都是对象类型,都继承自顶层类型Object,因此一切变量的值都是类的实例(即对象),甚至数字、布尔值、函数和null也都是继承自Object的对象。

num、bool与String

  • Dart的数值类型num,有两个子类,即int(整数类型)和double(浮点数类型),基本运算符、求绝对值和取整等功能也继承自num类型。
  • 其他高级运算方法,可以尝试dart:math库,该库提供来诸如三角函数、指数、对数、平方根等高级函数。
  • Dart的bool类型,只有两个对象具有bool类型:true和false,它们都是编译时常量
  • Dart是类型安全的,因此不能使用if(nonbooleanValue)或assert(nonbooleanValue)之类的在JavaScript可以正常工作的代码,而应该显示地检查值
  • Dart的String由UTF-16的字符串组成。构造字符串字面量时既能使用单引号也能使用双引号,还能在字符串中嵌入变量和表达式:可以使用${express}把一个表达式的值放进字符串。如果是一个标识符,可以省略{}.
  • Dart调用对象的toString()方法获取对象的字符串。使用**“+”拼接字符串**。
  • 对于多行字符串的构建,可以通过三个单引号或三个双引号的方式声明。

List与Map

其他编程语言中常见的数组和字典类型,在Dart中的对应实现是List和Map,统称为集合类型。
  var arr1 = <String>["Tom","Andy", "Jack"];
var arr2 = new List.of([1,2,3]);
arr2.add(499);
arr2.forEach((v) => print('${v}'));
print(arr2 is List<int>); // true var map1 = <String, String>{'name':'Tom','sex':'male'};
var map2 = new Map<String, String>();
map2['name'] = 'Tom';
map2['sex'] = 'male';
map2.forEach((k,v) => print('${k}: ${v}'));
print(map2 is Map<String, String>); // true

容器中的元素需要类型一致,可以添加类型约束,让静态分析器帮忙检查字面量中的错误

常量定义

定义不可变的变量,需要在定义变量前加上 final 或 const 关键字:
  • const,表示变量在编译期间即能确定的值;
  • final定义的变量可以在运行时确定值,而一点确定后就不可再变。

Dart类型变量-表示信息的更多相关文章

  1. Java 泛型进阶

    擦除 在泛型代码内部,无法获得任何有关泛型参数类型的信息. 例子1: //这个例子表明编译过程中并没有根据参数生成新的类型 public class Main2 { public static voi ...

  2. Chisel3 - Wire & Reg

    https://mp.weixin.qq.com/s/Y26N5P4XOr5e3uyi5XQY-w   不同于Verilog,Chisel中Wire和Reg并不是数据类型,而是数据容器,作为数据的一个 ...

  3. java笔记整理

    Java 笔记整理 包含内容     Unix Java 基础, 数据库(Oracle jdbc Hibernate pl/sql), web, JSP, Struts, Ajax Spring, E ...

  4. Dart函数、类和运算符-处理信息

    编程语言虽然千差万别,但归根结底,它们的设计思想无非就是回答两个问题: 1.如何表示信息: 2.如何处理信息: 函数 函数是一段用来独立地完成某个功能的代码.函数是对象类型,它的类型叫做Functio ...

  5. Dart 语言了解

    Dart 语言了解 概念 当您了解Dart语言时,请记住以下事实和概念: 您可以放在变量中的所有内容都是一个对象,每个对象都是一个类的实例.偶数,函数和 null对象.所有对象都从Object类继承. ...

  6. C#语言的新特性及相关信息

     .ENT版本 NET 2.0 :CLR, WinForms ,Wed Services,ASP.NET NET 3.0 :WCF,WF,WPF,CardSpace NET 3.5 :LINQ ,AJ ...

  7. java获取泛型信息

    总结一下java中获取与泛型相关的信息的知识,不如说是使用方法.网上也有很多类似的优秀文章,这里主要做一个知识的总结.通过反射获取泛型信息的常见例子: //bean package testProje ...

  8. Dart语言入门(一)

    Dart 语言介绍 Dart 是谷歌在 2011 年推出的编程语言,是一种结构化 Web 编程语言,允许用户通过 Chromium 中所整合的虚拟机(Dart VM)直接运行 Dart 语言编写的程序 ...

  9. Java基础 -- 深入理解Java类型信息(Class对象)与反射机制

    一 RTTI概念 认识Claa对象之前,先来了解一个概念,RTTI(Run-Time Type Identification)运行时类型识别,对于这个词一直是 C++ 中的概念,至于Java中出现RT ...

随机推荐

  1. java学习二

    一.类 1.类是模子,确定对象将会拥有的特征(属性)和行为(方法) 2.类的特点: (1).类是对象的类型 (2).具有相同属性和方法的一组对象的集合 3.类是抽象的概念,仅仅是模板,比如说:“手机” ...

  2. Python-PostgreSQL的使用

    一.安装PostgreSQL模块 yum install postgresql-devel pip3 install psycopg2 注意:安装时遇到./psycopg/psycopg.h:35:2 ...

  3. pip安装第三方库

    不是所有的第三方Python包都能通过pip来安装,只能是发布在pypi.org上面的才能通过pip安装. pypi是什么? pypi是一个仓库,上面存放了大量的Python第三方软件包,是由Pyth ...

  4. python相关,各种命令集合

    PS: cmd必须管理员身份运行 python版本 2.7  可能会出现编码问题:在 Lib/site-packages 新建文件 sitecustomize.py import sys  sys.s ...

  5. spring全家桶的pom的基本配置

    <?xml version="1.0" encoding="UTF-8"?> <project xmlns="http://mave ...

  6. Liunx软件安装之MySQL

    一.安装MySQL 1.1 配置 yum 源 centos 默认没有 MySQL 的 yum 源,所以需要先配置 yum 源. 1) 前往 官网,选择对应系统版本 2) 右键复制链接 3) 在 cen ...

  7. d3.js制作连线动画图和编辑器

    此文章为原创文章,原文地址:https://www.cnblogs.com/eagle1098/p/11431679.html 连线动画图 编辑器 效果如上图所示.本项目使用主要d3.jsv4制作,分 ...

  8. Storm 系列(二)—— Storm 核心概念详解

    一.Storm核心概念 1.1 Topologies(拓扑) 一个完整的 Storm 流处理程序被称为 Storm topology(拓扑).它是一个是由 Spouts 和 Bolts 通过 Stre ...

  9. Jconsole/jvisualvm远程监控weblogic中间件配置

    1.进入linu操作界面,进入到启动服务目录下 2.选择要监控的服务的启动项,进入到编辑状态(注意:要先将该文件进行备份),如下图所示 3.修改USER_AGRS域,添加如下内容,注意修改IP USE ...

  10. MARTIN FOWLER谈敏捷开发

    转自:http://www.scrumcn.com/agile/scrum-knowledge-library/agile-development.html#tab-id-9 每个人都在谈论敏捷开发( ...