Dart:
将代码组织为函数

如何操作:

基础函数

在 Dart 中,如果函数不返回值,则使用 void 关键字定义函数,否则指定它返回值的类型。这里有一个简单的函数,用于打印问候消息:

void greet(String name) {
  print('Hello, $name!');
}

void main() {
  greet('Alice');  // 输出: Hello, Alice!
}

返回值

函数可以返回值。下面的例子接收两个整数作为输入,并返回它们的和:

int add(int a, int b) {
  return a + b;
}

void main() {
  var sum = add(5, 3);
  print(sum);  // 输出: 8
}

匿名函数

Dart 支持匿名函数(也称为 lambda 表达式或闭包),这对于简短的即时功能很方便。这是如何在列表的 forEach 方法中使用匿名函数的示例:

void main() {
  var fruits = ['apple', 'banana', 'cherry'];
  fruits.forEach((item) {
    print(item);
  });
  // 输出:
  // apple
  // banana
  // cherry
}

单表达式函数的箭头语法

对于只包含单个表达式的函数,Dart 提供了使用“箭头”符号 (=>) 的简洁语法。这对于简短的函数或将函数作为参数传递特别有用:

int square(int num) => num * num;

void main() {
  print(square(4));  // 输出: 16
}

使用第三方库

对于更复杂或特殊的功能,Dart 程序员通常依赖于第三方库。考虑使用 http 库进行 HTTP 请求。首先,在你的 pubspec.yaml 文件下的依赖项中添加 http

dependencies:
  http: ^0.13.3

然后,你可以使用它从网络上获取数据:

import 'package:http/http.dart' as http;

Future<void> fetchUserData() async {
  var response = await http.get(Uri.parse('https://api.example.com/users/1'));
  print(response.body);
}

void main() {
  fetchUserData();
  // 预期输出:用户的 JSON 数据。实际输出将取决于 API 的响应。
}

记住,当你将 Dart 代码组织成函数时,要考虑可重用性、清晰度和单一职责原则。这不仅使你的代码更简洁,而且也使其更容易被其他人(和未来的你)理解和维护。