Dart语法基础-1基础语法

2020-09-08  本文已影响0人  tp夕阳武士

1.main函数

在VSCode中新建一个helloWorld.dart文件,添加下面的内容

main(List<String> args) {
  print('Hello World');
}

2. 程序的分析

3.定义变量

3.1明确声明

明确声明的格式:

变量类型 变量名称 = 赋值;

示例代码:

String name = 'coderwhy';
int age = 18;
double height = 1.88;
print('${name}, ${age}, ${height}'); // 拼接方式后续会讲解

注意事项: 定义的变量可以修改值, 但是不能赋值其他类型

String content = 'Hello Dart';
content = 'Hello World'; // 正确的
content = 111; // 错误的, 将一个int值赋值给一个String变量
3.2类型推导(Type Inference)

类型推导声明变量的方式, 格式如下:

var/dynamic/const/final 变量名称 = 赋值;
3.2.1 var的使用

var的使用示例:

var name = 'coderwhy';
name = 'kobe';
print(name.runtimeType); // String类型

var的错误用法:

var age = 18;
age = 'why'; 
//语法错误,因为第一行代码已经推断age是int类型
//第二行代码再为age赋值String类型,编译错误;
3.2.2dynamic的使用

dynamic 类似于Swift语法中的任意类型:Any

dynamic name = 'coderwhy';
print(name.runtimeType); // String
name = 18;
print(name.runtimeType); // int
3.2.3final&const的使用

final和const都是用于定义常量的, 也就是定义之后值都不可以修改

final name = 'coderwhy';
name = 'kobe'; // 错误做法

const age = 18;
age = 20; // 错误做法

final和const有什么区别呢?


main(List<String> args) {
  const name = getName(); // 错误的做法, 因为要执行函数才能获取到值
  final name = getName(); // 正确的做法
}

String getName() {
  return 'coderwhy';
}

const放在赋值语句的右边,可以共享对象,提高性能:

class Person {
  const Person();
}

main(List<String> args) {
  final a = const Person();
  final b = const Person();
  print(identical(a, b)); // true

  final m = Person();
  final n = Person();
  print(identical(m, n)); // false
}
上一篇下一篇

猜你喜欢

热点阅读