从下面开始学习DART编程

以下是一个简单的示例:

main(){
var number = 42;
print(number);
}
程序说明,dart是一个强大的脚本类语言,可以不预先定义变量类型 ,自动会类型推倒,主程序必须要先有一个main()主函数方法
以上是基本示例 至于函数返回值 和参数,暂时不讲,

在学习Dart语言时,请记住以下事实和概念:

  • 在变量中可以放置的所有东西都是对象,而每个对象都是的实例。无论数字、函数和null都是对象。所有对象都继承自[Object]类。
  • 尽管Dart是强类型的,但类型声明是可选的,因为Dart可以推断类型。 在上面的代码中,数字被推断为int类型。 如果要明确说明不需要任何类型,请使用[特殊类型dynamic]。
  • Dart支持通用类型,如List<int>(整数列表)或List<dynamic>(任何类型的对象列表)。
  • Dart支持顶级函数(如main()),以及绑定到类或对象(分别是静态方法(static)和实例(instance)方法)的函数。您还可以在函数(嵌套或局部函数)中创建函数。
  • 类似地,Dart支持顶级变量,以及绑定到类或对象(静态和实例变量)的变量。实例变量有时被称为字段或属性。
  • 与Java不同,Dart没有公开、保护和私有的关键字。如果标识符以下划线(_)开头,则该标识符对其库是私有的。有关详细信息,请参见[库和可见性]。
  • 标识符可以以字母或下划线(_)开头,然后是这些字符加上数字的任何组合。
  • 有时候,某事物是一个表达(expression )还是一个语句(statement)是很重要的,所以这两个词要准确。
  • Dart工具可以报告两种问题:警告和错误。警告只是表明您的代码可能不工作,但它们不会阻止您的程序执行。错误可以是编译时错误,也可以是运行时错误。编译时错误阻止了代码的执行;运行时错误导致代码执行时引发异常。

dart 关健字比健多,

下标中列出了Dart中的所有关键词

       
abstract (1) do import (1) super
as (1) dynamic (1) in switch
assert else interface (1) sync* (2)
async (2) enum is this
async* (2) export (1) library (1) throw
await (2) external (1) mixin (1) true
break extends new try
case factory (1) null typedef (1)
catch false operator (1) var
class final part (1) void
const finally rethrow while
continue for return with
covariant (1) get (1) set (1) yield (2)
default if static (1) yield*
deferred (1) implements (1)    

(1)带有上标1的单词是内置标识符。避免使用内置标识符作为标识符。如果尝试为类或类型名使用内置标识符,则会发生编译时错误。
(2)使用上标2的单词是在Dart的1.0版本之后添加的与异步支持相关的更新的、有限的保留字。在以async, async*, 或者 sync* 标记的任何函数体中,不能使用async, await, 或者 yield作为标识符。有关更多信息,请参见异步支持。

关键字表中的所有其他词都是保留词。不能使用保留词作为标识符。

变量与默认值

定义变量可以  var  n =5;   也可以简成        int  n = 5; 暂不支持golang或者python  那种高级多定义方法

须要说明的是    var 后就不要写类型 ,  写了类型 不要var   两者都写   var  a int  = 5;  报错

定义字符串:

var s1 = 'Single quotes work well for string literals.';
var s2 = "Double quotes work just as well.";
var s3 = 'It\'s easy to escape the string delimiter.';
var s4 = "It's even easier to use the other delimiter.";

同样支持 \n \t \r 这些写法

以下关于数字定义

数字类型 numbers  有二种形式  一种是int   长度给操作系统有关,,32 位64位,最高长度不一样。。

一种是double   精度给ieee标准有关。。

int x = 1;
16进制写法
int hex = 0xDEADBEEF;
int bigInt = 34653465834652437659238476592374958739845729

关于字符定义

关于布尔
数据类型详细说明:
未初始化的变量的初始值为null。甚至具有数字类型的变量最初也是null,因为数字——就像dart中的其他东西一样——是对象。
程序默认值:如果变量只申明没有定义只会有默认值 ,转换类型失败也会返回默认值 ,稍后补充

int lineCount;
assert(lineCount == null); // assert类似于if 语句,出错后会标飘红报错


Final 和 const修饰符  、、// 定义常量

 const值不变 一开始就得赋值
final 可以开始不赋值 只能赋一次 ; 这是两者的差别。
永远不改量的量,请使用final或const修饰他,而不是使用var或其他变量类型。最终变量只能设置一次;const变量是一个编译时常数。(Const变量是隐式最终变量。)最终的顶级或类变量在第一次使用时被初始化。注意:实例变量可以是final,但不能是const。[实例变量定义在对象一级,它可以被类中的任何方法或者其他类中的方法访问,但是不能被静态方法访问。]

这里有一个创建和设置final变量的例子:

final name = 'Bob'; // Without a type annotation
final String nickname = 'Bobby';

您无法更改final变量的值:

name = 'Alice'; // Error: a final variable can only be set once.
//这个是错误示例,在使用时final变量是不可以更改的

对于想要在编译时确定并且不再变的变量,使用const。如果const变量位于类级别,则将其标记为静态const。在声明该变量时,将该值设置为编译时常量,例如数字或字符串字面量、const变量或常量数字算术运算的结果:

const bar = 1000000; // Unit of pressure (dynes/cm2)
const double atm = 1.01325 * bar; // Standard atmosphere

const关键字不只是声明常量变量。您还可以使用它来创建常量值,以及声明创建常量值的构造函数。任何变量都可以赋一个常量值。

var foo = const [];
final bar = const [];
const baz = []; // Equivalent to `const []`

您可以更改一个非final的非const变量的值,即使它曾经有一个const值:  这儿foo  是var 定义的,,所以值能改变,,

foo = [1, 2, 3]; // Was const []  这儿返回正确值

你不能改变const变量的值:  baz是  const定义的  不能改变

baz = [42]; // Error: Constant variables can't be assigned a value.

 区别一:final 要求变量只能初始化一次,并不要求赋的值一定是编译时常量,可以是常量也可以不是。而 const 要求在声明时初始化,并且赋值必需为编译时常量

区别二:final 是惰性初始化,即在运行时第一次使用前才初始化。而 const 是在编译时就确定值了。

编译时常量指的是:字面量(如数字、bool、字符串、List的字面量形式)、其它常量 或者 常量的算术运算,也可以是这些的组合形式(递归要求),简单地说常量就是可以在编译时确定的值。


												

Dart简易教程 (1)---数据类型 运算符,类转换换的更多相关文章

  1. Dart 语言简易教程系列

    google Fuchsia系统 及 dart语言简介 在 InteIIiJ IDEA 中搭建 Dart 的开发环境 Dart Linux 开发环境搭建 Dart 语言简易教程(一) Dart 语言简 ...

  2. JavaScript简易教程(转)

    原文:http://www.cnblogs.com/yanhaijing/p/3685304.html 这是我所知道的最完整最简洁的JavaScript基础教程. 这篇文章带你尽快走进JavaScri ...

  3. JavaScript简易教程

    这是我所知道的最完整最简洁的JavaScript基础教程. 这篇文章带你尽快走进JavaScript的世界——前提是你有一些编程经验的话.本文试图描述这门语言的最小子集.我给这个子集起名叫做“Java ...

  4. [转]Unity3D Editor 编辑器简易教程

    Star 自定义编辑器简易教程 an introduction to custom editors 原文地址 http://catlikecoding.com/unity/tutorials/star ...

  5. flutter简易教程

    跟Java等很多语言不同的是,Dart没有public protected private等关键字,如果某个变量以下划线 _ 开头,代表这个变量在库中是私有的.Dart中变量可以以字母或下划线开头,后 ...

  6. Silverlight实例教程 - 自定义扩展Validation类,验证框架的总结和建议(转载)

    Silverlight 4 Validation验证实例系列 Silverlight实例教程 - Validation数据验证开篇 Silverlight实例教程 - Validation数据验证基础 ...

  7. Ant 简易教程

    转载:http://www.cnblogs.com/jingmoxukong/p/4433945.html Ant 简易教程 Apache Ant,是一个将软件编译.测试.部署等步骤联系在一起加以自动 ...

  8. Intellj IDEA 简易教程

    Intellj IDEA 简易教程 目录 JDK 安装测试 IDEA 安装测试 调试 单元测试 重构 Git Android 其他 参考资料 Java开发IDE(Integrated Developm ...

  9. Zabbix实战-简易教程系列

    一.基础篇(安装和接入) Zabbix实战-简易教程--总流程  Zabbix实战-简易教程--整体架构图 Zabbix实战-简易教程--DB安装和表分区 Zabbix实战-简易教程--Server端 ...

随机推荐

  1. java中sort方法的自定义比较器写法(转载)

    java中sort方法的自定义比较器写法 摘要 在做一些算法题时常常会需要对数组.自定义对象.集合进行排序. 在java中对数组排序提供了Arrays.sort()方法,对集合排序提供Collecti ...

  2. 10 个超棒的 JavaScript 简写技巧

    今天我要分享的是10个超棒的JavaScript简写方法,可以加快开发速度,让你的开发工作事半功倍哦. 开始吧! 1. 合并数组 普通写法: 我们通常使用Array中的concat()方法合并两个数组 ...

  3. Python--数据存储

    新建测试文档测试.txt内容如下: 张三:今天天气真好. 李四:是的,真的太好了. 张三:阳光明媚. 李四:鸟语花香. 王五:装逼现场:请带好安全帽 张三:难得好天气,今天就不偷懒了. 李四:能把乞讨 ...

  4. SQL语法 - WHERE 子句

    WHERE 子句用于规定选择的标准. 语法 SELECT 列名称 FROM 表名称 WHERE 列 运算符 值 下面的运算符可在 WHERE 子句中使用: 操作符 描述 = 等于 <> 不 ...

  5. Azure Bicep 开发利器

    Bicep 是一种用于声明式部署Azure资源的领域特定语言.它的目标是通过更清晰的语法.改进的类型安全性.以及对模块化和代码重用的更好支持,彻底简化编写体验. Bicep 其实是对 ARM 模板的透 ...

  6. Django3使用WebSocket实现WebShell

    前言 最近工作中需要开发前端操作远程虚拟机的功能,简称WebShell. 基于当前的技术栈为react+django,调研了一会发现大部分的后端实现都是django+channels来实现websoc ...

  7. js简单实现拦截访问指定网页

    最近闲的无事,写个脚本玩玩,实现拦截访问指定网址 浏览器插件 要想实现这个功能,就要自定义一个浏览器插件 最简单的浏览器插件有两个文件,分别是manifest.json和**.js.首先新建一个文件夹 ...

  8. reduce使用技巧

    一.使用reduce同时执行map(循环)和filter(过滤) 例如,将数组中的项的值加倍,然后只选择那些大于50的项 const numbers = [10, 20, 30, 40]; const ...

  9. 通俗易懂理解——dijkstra算法求最短路径

    迪杰斯特拉(Dijkstra)算法是典型最短路径算法,用于计算一个节点到其他节点的最短路径.它的主要特点是以起始点为中心向外层层扩展(广度优先搜索思想),直到扩展到终点为止 ###基本思想 通过Dij ...

  10. WPF日积月累之DataGrid样式以及操作数据模板中的控件

    一.效果图 二.代码预览 1 <Window x:Class="Test.MainWindow" 2 xmlns="http://schemas.microsoft ...