Flutter tutorial – 2.2 Kiểu dữ liệu trong ngôn ngữ Dart

Tiếp tục trong Flutter tutorial, Báo Flutter xin gửi đến các bạn bài viết về kiểu dữ liệu. Nếu các bạn đã biết lập trình các ngôn ngữ khác thì trong phần này, Ngôn ngữ Dart cũng tương tự trừ một số điểm nhấn, Báo Flutter sẽ gửi đến các bạn một cách chi tiết.

I. Các kiểu dữ liệu

Trong ngôn ngữ Dart, chúng ta có thể chia thành 2 kiểu:
+ Static ( int,double, String, bool, StringBuffer, RegExp, List, Map, Set, DateTime, Duration, Uri, Error…)
+ Dynamic ( var, dynamic)

* Kiểu Static

Mở công cụ lập trình Dart đã được cài đặt từ bài trước.

Nhập đoạn code dưới đây:

Kết quả :

Từ ví dụ trên các bạn đã biết các để in ra màn hình console trong lập trình ngôn ngữ Dart.

Kiểu List, Map, Set, Tuple sẽ được nói rõ hơn trong một bài viết khác của chương này.

* Kiểu Dynamic
Kiểu dữ liệu này gồm 2 kiểu : var, dynamic

+ var

Nhưng var không thể dùng như kiểu dữ liệu đầu ra của hàm:

+ dynamic

dynamic cũng có thể dùng như var nhưng khác ở chỗ, dynamic có thể dùng làm kiểu dữ liệu đầu ra của hàm.
Ví dụ:

Sự khác nhau giữa var và dynamic, thể hiện ở bảng sau:

Khi một biến được khai báo với giá trị là 1 kiểu nào đó thì khi cập nhật giá trị biến đó: nếu dùng var thì phải dữ nguyên kiểu biến đó, nếu dùng dynamic thì có thể thay đổi được. Ví dụ:
+ var number = 5.4 ; number = “số 2”; // ERROR
+ var rate = 0.5; rate = true ; // OK

Nếu trong sourcecode, biến hoặc hàm mà bạn không thấy dùng kiểu dữ liệu thì mặc định hiểu là kiểu dữ liệu đó là dynamic.

Kết luận : Trong ngôn ngữ Dart, có hai loại kiểu dữ liệu là : static và dynamic. Kiểu static thì cũng gần tương tự như các ngôn ngữ khác nhưng không có kiểu float. Kiểu dynamic thì có var và dynamic, chúng có thể dùng như là một kiểu dữ liệu đại diện chung chung cho các kiểu dữ liệu static.

NULL SAFETY
– Đây là khái niệm mà tất cả mọi người cần biết, cụ thể trong code bạn thấy những ký tự hay cách viết như sau;
int? number ; // Dấu hỏi sau kiểu dữ liệu
int sum = number! + 20; // Dấu chấm than sau biến
int tempNumber = sum??0; // Dấu ?? sau biến và trước giá trị khác

* Sau đây là lý giải :
Khái niệm Null Safety là khái niệm được dùng cho Dart SDK từ bản 2.12, tức là code cần phải theo chuẩn này, các packages, thư viện phải theo chuẩn này.

int? number ; // nghĩa là : number = null; dùng để khai báo biến mà chưa được khởi tạo giá trị, muốn giá trị đó là null thì đặt dấu ? sau kiểu dữ liệu. Các ngôn ngữ khác hay bản Dart SDK trước thì chỉ cần int number; thì number tự gán là null rồi.

Nếu bạn để : int number; // trình duyệt không báo lỗi nhưng không thể sử dụng biến number này vì nó không có giá trị gì kể cả null, muốn sử dụng nó thì bạn cần gán giá trị cho nó trước khi dùng, ví dụ: number = 10; print (number.toString());

int sum = number! + 20; // Dấu ! được dùng ngay sau biến kiểu null

int tempNumber = sum??0; // Nghĩa là : nếu sum = null thì cụm : sum??0 sẽ nhận giá trị là 0

Chúc các bạn có được nhiều kiến thức về ngôn ngữ Dart trong Flutter Tutorial này !

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 *