美文网首页
Flutter开发第一步,20分钟速刷Dart语言基础(上)

Flutter开发第一步,20分钟速刷Dart语言基础(上)

作者: DasinWong | 来源:发表于2019-05-27 16:27 被阅读0次

1. 数据类型

变量与常量

使用关键字 var 声明一个变量,可赋予不同类型的值,变量在未初始化时默认为 null

var a;
print(a); //null

a = 10;
print(a); //10

a = "Hello Dart";
print(a); //Hello Dart

使用关键字 final 声明一个只能被赋值一次的变量,必须在声明时赋值

final b = 10;
b = 11; //ERROR

final c; //ERROR

使用关键字 const 声明一个编译器常量

const d = 10;
d = 11; //ERROR

const e; //ERROR
数值型

数值型使用关键字 num 来表示,分为整数型 int 和浮点型 double

num a = 10;
print(a); //10

a = 3.14;
print(a); //3.14

int b = 10;
print(b); //10

b = 3.14; //ERROR

double c = 3.14;
c = 10;
print(c); //10.0
int a = -10;
print(a.isNaN);       //false
print(a.isEven);      //true
print(a.isOdd);       //false
print(a.toDouble());  //-10.0
print(a.abs());       //10

double b = 3.8;
print(b.round());  //4
print(b.toInt());  //3
print(b.floor());  //3
print(b.ceil());   //4
字符串

字符串使用关键字 String 来表示,分为单行字符串、多行字符串和原始 raw 字符串

String a = 'Hello Dart'; //单引号
print(a); //Hello Dart

String b = "Hello Dart"; //双引号
print(b); //Hello Dart

String c = '''Hello Dart
Hello Flutter
''';
print(c); //换行输出

String d = """Hello Dart
Hello Flutter
""";
print(d); //换行输出

String e = "Hello\tDart";
print(e); //Hello   Dart
String f = r"Hello\tDart";
print(f); //Hello\tDart
String a = "Dart";
print(a * 4); //DartDartDartDart
print(a[1]); //a
print(a.isNotEmpty); //true

int b = 6;
String c = "小明今年$b岁了,明年后就${b + 1}岁可以上小学了";
print(c); //小明今年6岁了,明年后就7岁可以上小学了
布尔型

使用关键字 bool 来表示布尔型,只有 true 和 false 两个值

bool a = true;
print(a); //true

bool b = false;
print(b); //false
List

在 Dart 语言里,用列表 List 来表示数据列表,它的元素可以是不同类型

List list1 = new List();

List list2 = List(); //关键字new可省略
list2.add(1);
list2.add('a');
list2.add(true);
print(list2); //[1, a, true]

list2[1] = '%';
print(list2); //[1, %, true]

List list3 = const [1, 'b', true]; //const关键字限制了列表元素不能修改
print(list3); //[1, b, true]

list3.forEach(print); //传入print方法,输出列表元素
Set

在 Dart 语言里,用 Set 来表示一个数据集合。与 List 不同的是,Set 集合的元素无序且不可以重复,也不能通过下标来获取元素

Set set = Set();
set.add('a');
set.add('b');
set.add('c');
print(set); //{a, b, c}
Map

在 Dart 语言里,用 Map 来表示键值对数据映射数据集,直接使用 map[key] = value 进行插入/修改

Map map1 = Map();
map1[1] = 1;
map1['a'] = 'Ahaha';
map1[true] = false;
print(map1); //{1: 1, a: Ahaha, true: false}
map1.forEach((K, V) => print('key:$K,value:$V'));

Map map2 = {'a': 'A', 'b': 'B', 3: true};
print(map2); //{a: A, b: B, 3: true}
print(map2.keys); //(a, b, 3)
print(map2.values); //(A, B, true)
print(map2.containsKey(1)); //false
print(map2.containsValue('A')); //true
动态类型

dynamic 可以理解为 Java 中的 Object 类型,var / final /const 声明的变量/常量,默认就是该类型,可以赋值任意类型的数据

枚举(后期讲解)
泛型(后期讲解)

2. 运算符

算数运算符

区别于 Java ,在 Dart 语言里

  • / 表示除,得到的是 double 型数据
  • ~/ 表示取整,与 Java 中的除相同
int a = 5;
int b = 2;
print(a / b); //2.5
print(a ~/ b); //2
赋值运算符

Dart 语言里新增了空赋值的概念

  • ??= 如果变量为空,则赋值
int a;
a ??= 10;
a ??= 11;
print(a); //10
条件表达式

Dart 语言里新增了空表达式,类似于空赋值

  • ?? 当前一个表达式的结果为空时,使用后一个表达式的结果
var result = null ?? 1 + 3;
print(result); //4

3. 控制语句

区别于 Java ,Dart 语言新增了 for ... in 控制语句,类似于 Java 中的 for ... each

  • for ... in 循环遍历 Iterable 中所有元素
List list = [1, 2, 3, 4, 5];
for (int item in list) {
  print(item);
}

4. 方法

5. 面向对象

相关文章

  • Flutter系列(2)Dart语言基础

    Flutter的开发语言是Dart语言的,这篇文章就说说Dart语言基础 一、Dart 初体验 在flutter项...

  • 第2章 Dart基础语法 -- 变量和常量

    1. Dart基础概述 开发Flutter项目时主要使用的dart语言,Dart是谷歌开发的计算机编程语言,后来被...

  • Flutter 的开发语言--Dart语言学习

    前言 Flutter使用的是Dart语言,我们先来了解Dart的一些基础特性,便于后面Flutter的开发。 变量...

  • 文章转载记录

    转自掘金-学习记录使用 Flutter 完整开发实战详解(一、Dart 语言和 Flutter 基础) Flutt...

  • Dart系列-方法

    周末学习了一下Dart语言,按照慕课网Flutter开发第一步-Dart编程语言入门[https://www.im...

  • Dart系列-运算符

    周末学习了一下Dart语言,按照慕课网Flutter开发第一步-Dart编程语言入门[https://www.im...

  • Dart系列-面向对象(一)

    周末学习了一下Dart语言,按照慕课网Flutter开发第一步-Dart编程语言入门[https://www.im...

  • Dart系列-数据类型

    周末学习了一下Dart语言,按照慕课网Flutter开发第一步-Dart编程语言入门[https://www.im...

  • Dart系列-枚举、泛型

    周末学习了一下Dart语言,按照慕课网Flutter开发第一步-Dart编程语言入门[https://www.im...

  • Dart系列-面向对象(二)

    周末学习了一下Dart语言,按照慕课网Flutter开发第一步-Dart编程语言入门[https://www.im...

网友评论

      本文标题:Flutter开发第一步,20分钟速刷Dart语言基础(上)

      本文链接:https://www.haomeiwen.com/subject/yjmhtctx.html