Rate this post

Trong Dart, thư viện là tập hợp các quy trình hoặc tập hợp các hướng dẫn lập trình. Dart bao gồm nhiều bộ thư viện tích hợp sẵn có lợi để lưu giữ các quy trình (hàm, tập hợp các lớp, v.v.) và được sử dụng thường xuyên. Thư viện Dart chứa các hằng số, hàm, thuộc tính, ngoại lệ, typedef và tập hợp các lớp.

Importing library trong Dart

Để làm việc với thư viện, chúng ta phải nhập nó vào chương trình hiện tại. Dart cung cấp từ khóa nhập, được sử dụng để làm cho thư viện có sẵn trong tệp hiện tại. Chúng tôi có thể sử dụng nhiều thư viện trong một tệp duy nhất.

Ví dụ – URI thư viện tích hợp sẵn phi tiêu được sử dụng như lược đồ phi tiêu để tham chiếu đến một thư viện. Các thư viện khác có thể sử dụng đường dẫn hệ thống tệp hoặc gói: lược đồ để chỉ định các URI của nó. Trình quản lý gói quán rượu trong Dart cung cấp các thư viện và sử dụng lược đồ gói.

Chúng tôi đang mô tả một số thư viện thường được sử dụng bên dưới.

Sr.Thư việnMiêu tả
1.dart:ioThư viện này bao gồm File, HTTP, socket và hỗ trợ I / O khác cho các ứng dụng máy chủ. Thư viện này không phù hợp với các ứng dụng dựa trên trình duyệt. Chúng tôi không cần nhập rõ ràng vì nó được nhập theo mặc định.
2.Dart:coreThư viện này bao gồm collection, các loại cài sẵn và chức năng cốt lõi khác cho mỗi chương trình Dart. Nó được nhập theo mặc định.
3.Dart: mathThư viện này bao gồm các hàm toán học phong phú, hằng số và trình tạo số ngẫu nhiên.
4.Dart: convertNó được sử dụng để Mã hóa và giải mã để switch các biểu diễn dữ liệu khác nhau như JSON và UTF
5.Dart: typed_dataNó đại diện cho các danh sách lưu trữ dữ liệu có kích thước cố định một cách hiệu quả (ví dụ – số nguyên 8 byte không dấu).

Hãy hiểu ví dụ sau về nhập và sử dụng một hàm thư viện.

Ví dụ – Nhập và sử dụng Thư viện

import 'dart:math';   // Importing built-in library  
void main() {   
   print("Square root of 36 is: ${sqrt(36)}");   
}  

Đầu ra:

Căn bậc hai của 25 là: 5,0

Giải trình:

Trong đoạn mã trên, chúng tôi đã nhập thư viện tích hợp sẵn ‘dart: math’ . Nó cung cấp nhiều hàm toán học được tích hợp sẵn, ở đây chúng tôi đã sử dụng hàm sqrt () với số. Nó nhận một số làm đối số mà chúng ta muốn tìm căn bậc hai của nó. Chúng tôi đã chuyển một số nguyên 25 trong hàm sqrt ( ) và nó đã khôi phục kết quả đầu ra là 5.

Đóng gói trong thư viện

Dart cung cấp cơ sở để đóng gói hoặc hạn chế quyền truy cập vào nội dung của thư viện phi tiêu. Nó có thể được thực hiện bằng cách sử dụng _ (gạch dưới), theo sau là số nhận dạng. Ký hiệu _ (gạch dưới) làm cho nội dung của thư viện hoàn toàn riêng tư. Cú pháp được đưa ra dưới đây.

Cú pháp:

_identifier  

Ví dụ

Chúng tôi xác định một thư viện tên là Greetings có một chức năng riêng.

library Greetings;        
// We define a function using the _underscore as a prefix.                        
void _sayHi(msg) {  
   print("We will access this method in another program:${msg}");        
}  

Tệp ở trên lưu dưới dạng tệp tin hello.dart, bây giờ chúng tôi nhập thư viện.

import 'greetings.dart' as w;   
void main() {   
   w._sayHi("Hello Javatpoint");   
}  

Đầu ra:

Sau khi chạy đoạn mã trên, nó xuất hiện một lỗi vì chúng tôi đã khai báo thư viện với phương thức private và cố gắng truy cập nó trong tệp khác.

Unhandled exception: 
No top-level method 'w._sayHi' declared.  
NoSuchMethodError: method not found: 'w._sayHi' 
Receiver: top-level 
Arguments: [...] 
#0 NoSuchMethodError._throwNew (dart:core-patch/errors_patch.dart:184) 
#1 main (file:///C:/Users/Administrator/WebstormProjects/untitled/Assertion.dart:6:3) 
#2 _startIsolate.<anonymous closure> (dart:isolate-patch/isolate_patch.dart:261) 
#3 _RawReceivePortImpl._handleMessage (dart:isolate-patch/isolate_patch.dart:148)

Tạo thư viện tùy chỉnh (Thư viện do người dùng xác định)

Chúng tôi cũng có thể sử dụng mã của riêng mình làm thư viện và nhập nó khi cần. Loại thư viện này được gọi là thư viện tùy chỉnh. Dưới đây là các bước để tạo một thư viện tùy chỉnh.

Bước – 1: Khai báo Thư viện

Câu lệnh thư viện được sử dụng để tạo thư viện một cách rõ ràng. Cú pháp được đưa ra dưới đây.

Cú pháp:

library library_name    
// library contents go here   

Bước – 2: Kết nối thư viện

Chúng ta có thể kết nối thư viện theo hai cách.

  • Trong cùng một thư mục
import 'library_name'  
  • Từ một thư mục khác
import 'dir/library_name'  

Hãy hiểu ví dụ sau:

Ví dụ – Thư viện tùy chỉnh

library calculator_simple;    
import 'dart:math';   
  
//library content  
int add(int num1,int num2){   
   print("inside add method of calculator_simple Library ") ;   
   return num1+num2;   
}    
int multiplication(int num1,int num2){   
   print("inside multiplication method of calculator_simple Library ") ;   
   return num1*num2;   
}    
  
int subtraction(int num1,int num2){   
   print("inside subtraction  method of calculator_simple Library ") ;   
   return num1-num2;   
}    
  
int modulus(int num1,int num2){   
   print("inside modulus  method of calculator_simple Library ") ;   
   return num1%num2;   
}    

Bây giờ chúng tôi nhập tệp tùy chỉnh ở trên vào tệp hiện tại có tên là ‘library.dart’.

import 'calculator.dart';    
void main() {  
   var n1 = 30;   
   var n2 = 10;   
   var sum = add(n1,n2);   
   var mod = modulus(n1,n2);   
   var mul = multiplication(n1,n2);  
   var div = divide(n1,n2);  
   var sub = subtraction(n1,n2);  
     
     
   print("$n1 + $n2 = $sum");   
   print("$n1 %  $n2= $mod");   
   print("$n1 + $n2 = $mul");   
   print("$n1 - $n2 = $sub");  
     
}  

Name Alias của Thư viện

Dart cho phép chúng ta nhập nhiều thư viện vào tệp đang làm việc hiện tại, nhưng nếu chúng ta tạo cùng một tên hàm trong các thư viện khác nhau, nó sẽ tạo ra xung đột khi truy cập các hàm này. Trình biên dịch Dart có thể bị nhầm lẫn khi xác định chức năng cụ thể trong thư viện khác nhau. Để khắc phục tình huống này, Dart cung cấp từ khóa as để chỉ định tiền tố. Cú pháp được đưa ra dưới đây.

Cú pháp:

import 'library_uri' as prefix  

Hãy hiểu ví dụ sau:

Ví dụ

Đầu tiên, chúng tôi xác định một thư viện: welcome.dart

library greetings;    
void sayHi(msg){   
   print("Learn the Dart with ${msg}");  
}  

Tiếp theo, chúng tôi xác định thư viện mới: hellogreetings.dart

library hellogreetings;   
void sayHi(msg){   
   print("${msg} provides the tutorial on all technical retated topic");   
}  

Bây giờ, chúng tôi nhập các thư viện ở trên với tiền tố as .

import 'greetings.dart';   
import 'hellogreetings.dart' as gret;    
  
// using as prefix avoids function name clashes   
void main(){   
   sayHi("JavaTpoint");   
   gret.sayHi("JavaTpoint");   // To eliminate the name confliction  
}  

Trả lời

Email của bạn sẽ không được hiển thị công khai. Các trường bắt buộc được đánh dấu *

Contact Me on Zalo
Call now