在以前把环境折腾好了以后,咱们开始打基础功,先把 dart 学好。php
dart 这个语言仍是比较奇怪的,以前根本没听过(多是我孤陋寡闻了),听说有人问 flutter 开发者,为何使用 dart 语言。开发者回答说:"dart 开发组就在咱们隔壁,因此咱们决定使用 dart" 😭数组
不过不要紧,全部的语言思想都差很少,有经验的入门仍是比较简单的。开始进入正题吧~ide
关于后面 dart ,代码能够在 dartPad 上运行函数
https://dartpad.dartlang.org/学习
_
开头,则这个函数或变量属于这个包私有void main() { // 变量申明 var name = 'enda'; // 变量默认值为 null int lineCount; print(lineCount); // null // 能够在定义变量时指定变量的类型,经过指定变量类型,能够减小编译和运行时间 String name = 'enda'; // 常量定义 常量定义就不能修改 final firstName = 'E'; // 或者申明类型的常量定义 final int age = 20; const lastName = 'D'; }
dart 内置了几种常见的数据类型ui
number 类型分为 int 和 double code
int 的取值范围为 -253 to 253 - 1
double 为 64 位长度的浮点类型对象
number 常见的操做方位包括: +
,-
,*
,/
以及位移 >>
继承
int 类型转换索引
void main() { // 字符串转 int var one = int.parse('1'); assert(one == 1); // 字符串转浮点 var onePointOne = double.parse('1.1'); // int 转字符串 String oneAsString = 1.toString(); // double 转字符串 String piAsString = 3.14159.toStringAsFixed(2); }
可使用单引号或双引号建立字符串
var str1 = '单引号定义'; var str2 = "双引号定义"; var str3 = "转义 \'s ";
字符串链接,使用 +
操做符
// 字符串链接可使用 + 号 var str4 = str1 +'-'+ str2;
使用 """
或 '''
来定义多行字符串
// 多行字符串 var str5 = ''' 多行字符串的定义 简单吧 ''';
使用 r
来定义
// 使用 r 修饰,代表是 raw 类型的字符串 var str6 = r"In a raw string, even \n s";
bool 类型只有两个值 true
和 false
dart 对 bool 值的检查是强类型检查,因此不能和 php 同样去依赖强转检查
咱们能够写成下面这样
// 检查是否为空字符串 var fullName = ''; assert(fullName.isEmpty); // 检查是否为 0 var hitPoints = 0; assert(hitPoints <= 0); // 检查是否为 null var unicorn; assert(unicorn == null); // 检查是否为 NaN var iMeantToDoThis = 0 / 0; assert(iMeantToDoThis.isNaN);
几乎每种语言中最多见的集合多是数组或有序的对象。在 dart 中,数组是 LIST 对象
var list = [1,2,3];
dart 的 LIST 索引从 0 开始
list[1] = 10; list.length; // 获取长度
map 将 key 和 value 关联到一块儿,key 必须是惟一的
// 第一种定义 var gifts = { // key value 'first' : 'partridge', 'second': 'turtledoves' }; // 第二种定义 var gifts2 = new Map(); gifts2['first'] = 'partridge';
// 获取值 gifts['first']; // 判断 key 是否存在 assert(gifts['fifth'] == null); // 获取长度 gifts.length;
Dart 中 runes 是 UTF-32 字符集的 string 对象。
codeUnitAt 和 codeUnit 用来获取 UTF-16 字符集的字符。
使用runes 来获取 UTF-32 字符集的字符。
Runes input = new Runes( '\u2665 \u{1f605} \u{1f60e} \u{1f47b} \u{1f596} \u{1f44d}');