📜  Dart – 基本语法(1)

📅  最后修改于: 2023-12-03 15:14:36.309000             🧑  作者: Mango

Dart – 基本语法

介绍

Dart 是 Google 开发的一种客户端 Web 开发语言,主要用于创建移动应用程序、桌面应用程序和 Web 应用程序。它是一种面向对象、类 C、静态类型的语言,非常适合用于大规模 Web 应用程序的开发。

变量

Dart 中的变量包括 int、double、bool、String、dynamic 和 Object 等类型。其中,int 和 double 分别是整数和浮点数类型。bool 类型只有两个值:true 和 false。String 类型是一串字符,可以是单引号或双引号。

dynamic 可以存储任何类型的值,在 Dart 编译时会自动推断其类型。Object 也可以存储任何类型的值,但需要手动将其转换为其他类型。

int age = 25;
double height = 1.75;
bool isStudent = true;
String name = 'Bob';
dynamic anyType = 'test';
Object obj = 'object';

print(age); // 输出 25
print(height); // 输出 1.75
print(isStudent); // 输出 true
print(name); // 输出 Bob
print(anyType); // 输出 test
print(obj); // 输出 object
运算符

Dart 支持所有标准运算符,包括算术、比较和逻辑运算符。此外,Dart 还支持级联运算符(..)和空值运算符(?.、??),用于简化编程和处理空值情况。

int a = 6;
int b = 2;

print(a + b); // 输出 8
print(a - b); // 输出 4
print(a * b); // 输出 12
print(a / b); // 输出 3.0
print(a ~/ b); // 输出 3
print(a % b); // 输出 0
print(a < b); // 输出 false
print(a > b); // 输出 true
print(a <= b); // 输出 false
print(a >= b); // 输出 true
print(a == b); // 输出 false
print(a != b); // 输出 true

// 空值运算符
int? c = null;

print(c?.toString() ?? 'null'); // 输出 null
控制流

Dart 中的控制流包括 if-else、switch、for、while 和 do-while 等语句。其中,if-else 和 switch 用于条件判断,for、while 和 do-while 用于循环。

int score = 80;

if (score >= 90) {
  print('优秀');
} else if (score >= 60) {
  print('及格');
} else {
  print('不及格');
}

List<int> list = [1, 2, 3, 4, 5];

for (int i = 0; i < list.length; i++) {
  print(list[i]);
}

int j = 0;

while (j < list.length) {
  print(list[j]);
  j++;
}

int k = 0;

do {
  print(list[k]);
  k++;
} while (k < list.length);
函数

Dart 中的函数主要由函数名、参数和返回类型构成,可以接收任意数量的参数,并且支持参数默认值和可选参数等功能。

// 带参数和返回值的函数
int add(int a, int b) {
  return a + b;
}

// 参数默认值
String say([String name = 'Tom']) {
  return 'Hello, $name!';
}

// 可选参数
String speak(String from, String msg, [String? to]) {
  if (to != null) {
    return '$from 对 $to 说:$msg';
  }
  return '$from 说:$msg';
}

// 匿名函数
var multiply = (int a, int b) {
  return a * b;
};

print(add(1, 2)); // 输出 3
print(say()); // 输出 Hello, Tom!
print(say('Jack')); // 输出 Hello, Jack!
print(speak('Tom', 'How are you?')); // 输出 Tom 说:How are you?
print(speak('Tom', 'How are you?', 'Jerry')); // 输出 Tom 对 Jerry 说:How are you?
print(multiply(3, 4)); // 输出 12

Dart 中的类是一种面向对象的编程方式,可以创建对象、定义属性和方法等。类包括类名、属性和方法,其中,属性分为实例属性和静态属性,方法分为实例方法和静态方法。

class Person {
  String name;
  int age;

  // 构造函数
  Person(this.name, this.age);

  // 实例方法
  void sayHello() {
    print('Hello, my name is $name, and I am $age years old!');
  }

  // 静态方法
  static void sayHi() {
    print('Hi, everyone!');
  }
}

var p = Person('Tom', 25);
p.sayHello(); // 输出 Hello, my name is Tom, and I am 25 years old!
Person.sayHi(); // 输出 Hi, everyone!
异常处理

Dart 中的异常处理可以使用 try-catch、finally 和 on 语句等。其中,try-catch 用于捕捉异常,finally 用于清理资源,on 用于过滤异常类型。

try {
  int a = 10 ~/ 0;
} on IntegerDivisionByZeroException {
  print('除数不能为零!');
} catch (e) {
  print('发生异常:$e');
} finally {
  print('清理资源!');
}
总结

本文介绍了 Dart 语言的基本语法,包括变量、运算符、控制流、函数、类和异常处理等内容。Dart 是一种高效、灵活和易于学习的语言,非常适合用于开发 Web 应用程序和移动应用程序。