Dart 初体验
printInteger(int a) {print('Hello world, this is $a.');}main() {var number = 2019;printInteger(number);}
Dart 的变量与类型
所有类型都是对象.
声明变量:
- var: 由编译器推断类型,
var a - 类型:
int a
基本类型
num, 数字类:
- 64位 int
- 64位 double
int x = 1;int hex = 0xEEADBEEF;double y = 1.1;double exponents = 1.13e5;int roundY = y.round();
bool:
- true
- false
string:
- 构造字符串字面量时既能使用单引号也能使用双引号
- 还能在字符串中嵌入变量或表达式:你可以使用
${express}把一个表达式的值放进字符串- 如果是一个标识符,你可以省略{}
var s = 'cat';var s1 = 'this is a uppercased string: ${s.toUpperCase()}';var s2 = 'Hello' + ' ' + 'World!' ;// 多行var s3 = """This is amulti-line string.""";
list, map:
var arr1 = ["Tom", "Andy", "Jack"];var arr2 = List.of([1,2,3]);arr2.add(499);arr2.forEach((v) => print('${v}'));var map1 = {"name": "Tom", 'sex': 'male'};var map2 = new Map();map2['name'] = 'Tom';map2['sex'] = 'male';map2.forEach((k,v) => print('${k}: ${v}'));
- 带有类型约束的写法
var arr1 = <String>['Tom', 'Andy', 'Jack'];var arr2 = new List<int>.of([1,2,3]);arr2.add(499);arr2.forEach((v) => print('${v}'));print(arr2 is List<int>); // truevar 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
常量
- const,表示变量在编译期间即能确定的值;
- final 则不太一样,用它定义的变量可以在运行时确定值,而一旦确定后就不可再变。
final name = 'Andy';const count = 3;var x = 70;var y = 30;final z = x / y;
