openplanning

Từ khoá part và part of trong Dart

  1. Các từ khoá part và part of
  2. Ví dụ

1. Các từ khoá part và part of

Trong lập trình Dart/Flutter đôi khi bạn viết rất nhiều mã trong một file, khi số lượng các dòng mã ngày càng nhiều bạn sẽ gặp khó khăn trong việc tìm kiếm mã mà bạn đã viết. Từ khoá "part""part of" giúp bạn chia nhỏ một file dart thành các phần khác nhau.
Để đơn giản chúng ta phân tích hình minh hoạ dưới đây, có 4 file xuất hiện trong hình minh hoạ:
  • main_file.dart, file1.dart, file2.dart, file3.dart
main_file.dart
Đây là một file chính, nơi bạn có thể sử dụng từ khoá "part" để khai báo một file nào đó là một phần của nó.
main_file.dart
// Import ...

part 'file1.dart';
part 'file2.dart';
part 'file3.dart';

// Other codes
  • Từ khoá "import" có thể được sử dụng trong file này để nhập khẩu các thư viện được sử dụng bởi nó hoặc các phần của nó.
  • Từ một file bất kỳ trong nhóm có thể truy cập vào tất cả các tài nguyên của các file còn lại kể cả các tài nguyên "private". Chẳng hạn như biến riêng tư, hàm riêng tư, lớp riêng tư,..
file1.dart
file2.dart
file3.dart
file1.dart
part of 'main_file.dart';

// Other codes
Đây là các phần của "main_file.dart". Từ khoá "part of" được sử dụng để khai báo rằng file hiện tại là một phần của "main_file.dart".
  • Từ khoá "import" không được sử dụng trong các file này.
  • Các file này chỉ được nhận biết bởi file chính của nó (main_file.dart). Vì vậy bạn không thể nhập khẩu các file này ở bất kỳ nơi nào.

2. Ví dụ

file1.dart
part of 'main_file.dart';

// A private variable.
String _greeting = "Hello";

// A private function
int _sum(int a, int b) {
  return a + b;
}
file2.dart
part of 'main_file.dart';

// A private function
int _minus(int a, int b) {
  return a - b;
}
file3.dart
part of 'main_file.dart';

// A public function
int random() {
  // Need to import 'dart:math' (See in main_file.dart)
  return Random().nextInt(10);
}

void sayHello() {
  // Print a private variable defined in 'file1.dart'
  print(_greeting);
}
File chính sử dụng các từ khoá "part" để định nghĩa các phần của nó và sử dụng từ khoá "import" để nhập khẩu các thư viện được sử dụng bởi nó hoặc các phần của nó.
File chính có thể sử dụng các tài nguyên "private" được viết trong các phần (part) của nó.
main_file.dart
import 'dart:math'; // Import a library for file3.dart

part 'file1.dart';
part 'file2.dart';
part 'file3.dart';

// A function
void doSomething() {
  // Print a private variable defined in 'file1.dart'
  print(_greeting);
  // Call a private function defined in 'file2.dart'
  int value = _sum(1, 2);
}