基础语法与类型变量:Dart是如何表示信息的?

132 阅读1分钟

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 a
multi-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>); // true

var 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;