Dart简易教程 (1)---数据类型 运算符,类转换换
从下面开始学习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修饰符 、、// 定义常量
final 可以开始不赋值 只能赋一次 ; 这是两者的差别。
这里有一个创建和设置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 是在编译时就确定值了。
编译时常量指的是:字面量(如数字、bool、字符串、List的字面量形式)、其它常量 或者 常量的算术运算,也可以是这些的组合形式(递归要求),简单地说常量就是可以在编译时确定的值。
转载于:https://www.cnblogs.com/fgxwan/p/9745700.html
Dart简易教程 (1)---数据类型 运算符,类转换换相关推荐
- 【Dart 教程系列第 28 篇】Dart中的 Map 和实体类的相互转换
这是[Dart 教程系列第 28 篇],如果觉得有用的话,欢迎关注专栏. 首先声明一个实体类 class People {String name; // 姓名String area; // 地区Str ...
- 杨老师课堂_Java教程第六篇之引用数据类型_类的运用
今天主要是讲解以下知识点: 1.自定义类型的定义及使用 2.自定义类的内存图 3.ArrayList集合的基本功能 4.王者荣耀随机迎战案例及库存案例代码优化 01引用数据类型_类 * A: 数据类型 ...
- 运算符重载(4.基本数据类型转换为类类型)【非重点】
知识点1.基本数据类型转换为类类型的两种方式 1.通过构造函数进行转换 例题:如下列代码通过用构造函数的方式,将一个double的数据变成一个crmb类 #include <iostream&g ...
- Solidity 简易教程0x001
Solidity是以太坊的主要编程语言,它是一种静态类型的 JavaScript-esque 语言,是面向合约的.为实现智能合约而创建的高级编程语言,设计的目的是能在以太坊虚拟机(EVM)上运行. 本 ...
- Python 程序设计快速入门简易教程
Python 程序设计快速入门简易教程 Python语言快速检索 一些需要知道的事 一个简单的Python程序 Python的基本数据类型 Python的基本运算符 Python的常用函数 impor ...
- Dart Flutter 教程【Dart部分】
!!!笔记源自b站课程 此处是课程链接 写在前面: Dart有很多语法与其他语言比如C.Java都很像,有基础的友友们可以搭一下环境,简单看一下不同点即可.剩下的在开发实践中逐渐熟练~ 文章目录 Da ...
- JavaScript(一)(数据类型+运算符)
JavaScript(一)(数据类型+运算符) 文章目录 JavaScript(一)(数据类型+运算符) 一.数据类型 1. 什么是 JavaScript 语言? 1.1 定义 1.2 实验环境 2. ...
- Unity3D Editor 编辑器简易教程
Star 自定义编辑器简易教程 an introduction to custom editors 原文地址 http://catlikecoding.com/unity/tutorials/star ...
- dart参数传方法_为 JavaScript 开发人员准备的 Dart 参考教程
Dart 是 Flutter 主要的开发语言,这一篇文章主要为 JavaScript 开发人员准备的 Dart 教程,我会用很详细的对比来参考,力争 JavaScript 开发人员可以快速的熟练使用 ...
最新文章
- [LOJ 6288]猫咪[CF 700E]Cool Slogans
- Oracle中的数据类型和数据类型之间的转换
- 静态成员函数调用方式--收藏帖子
- c++函数模板和类模板
- 理解 neutron(15):Neutron Linux Bridge + VLAN/VXLAN 虚拟网络
- oracle查询cpu占用率高,ORACLE杀掉cpu占用率高的session
- android studio怎么回退,如何回滚已经commit的代码(Android Studio)
- 你见过股市亏最惨的有多惨?
- error LNK2019: unresolved external symbol “__declspec(dllimport) public: __thiscall 的解决方案
- 【黑马JS笔记】BOM对象DOM对象事件
- 【ACL2020-CMU-Google】MobileBERT:用于资源受限设备的任务无关“瘦版”BERT
- mysql客户端介绍
- 高并发 多线程批量ping工具 nbping简介和使用
- java做报表_推荐6款常用的Java开源报表制作工具
- onedrive php接口,关于 onedrive 的 api 调用
- C语言 商业贷款计算器 等额本金 等额本息
- git pack文件过大
- 论文阅读——Multi-Task Learning Framework for Extracting Emoton Cause Span and Entailment in Conversations
- 三思系列:前人用GreenDao留下的坑,全线被扣了绩效
- DSP开发-C语言环境
热门文章
- 浏览器URL地址里一堆%或者6E616D6531之类的是啥?编码
- Android 10.0系统启动之init进程-[Android取经之路]
- Android 双击返回键退出程序 实现
- java打包没有src_maven 打包时,src/main/java目录下的xml等资源文件没有打包进去的问题...
- LiveData原理分析
- Android--Otto事件总线 -- 组件之间通讯框架使用 --模式解析
- Struts2标签库常用标签(转)
- 2017-2018-1 20155226《信息安全系统设计基础》第2周学习总结
- sharepoint试图筛选等于本人
- 《learning ROS for robotics programming》