[Quick basic] Bài 1: Values - Biến, hằng, mảng, từ điển

Bài 1 đề cập tới cách khai báo và sử dụng biến, hằng, dữ liệu kiểu mảng và từ điển. Bài viết sẽ bao gồm các ví dụ và các bài tập vận dụng giúp các bạn dễ nắm bắt vấn đề.

I - Hằng, Biến


1.1 Khai báo


let để khai báo hằng số (Constant)
var để khai báo biến số (Variable)

Bạn không cần phải quan tân đến giá trị của hằng số khi biên dịch nhưng bạn phải gán cho nó một giá trị xác định ( một hằng số không được phép rỗng ). Điều này cũng có nghĩa là bạn chỉ cần khai báo hằng số một lần và sử dụng nó ở bất kì chõ nào trong chương trình.

Lưu ý muốn gán giá trị của một biến cho một hằng số và ngược lại thì chúng phải có cùng một kiểu dữ liệu. Tuy nhiên bạn cũng không cần phải viết rõ ra kiểu dữ liệu này, khi bạn khai báo biến hoặc hàm, kiểu giá trị sẽ tự động suy luận ra kiểu của nó. Với ví dụ trên thì XCode ngầm định myVariable có kiểu giá trị nguyên vì giá trị ban đầu của nó là số nguyên.

Nếu bạn muốn gán kiểu giá trị cho biến/hằng số một cách rõ ràng, tường minh thì sử dụng dấu ":" - hai chấm.
implicit : ngầm định
explicit : tường minh

Vận dụng: Bây giờ bạn hãy thử khai báo một biến/hằng kiểu Float có giá trị bằng 4 và xem có gì hiện ra nhé.

+ Về vấn đề các kiểu dữ liệu chúng ta sẽ nghiên cứu sâu hơn tại [Basic] Swift Guide - Bài 1 The Basic.

1.2 Ép kiểu


Kiểu giá trị của biến/hằng sẽ cố định trong quá trình biên dịch, bạn buộc phải thực hiện ép kiểu nếu thực hiện những phép toán giữa 2 giá trị khác kiểu dữ liệu.

đây là cách ép một số thành chuỗi:
Vận dụng: Bây giờ bạn hãy bỏ cụm "String( )" đi chỉ viết width xem có chuyện gì xẩy ra ? dùng lệnh println(widthLable) để hiện giá trị của widthLabel.

+ Về vấn đề  ép kiểu (Type Casting) chúng ta sẽ nghiên cứu sâu hơn trong phần [Basic] Swift Guide - Bài 17 Type Casting.

1-3 Chèn số vào chuỗi


Để chèn một số vào chuỗi trong Swift ta sử dụng dấu gạch chéo (backslash) " \ "

Vận dụng: Bây giờ các bạn thêm một hằng mới coconut có giá trị là "coconut", các bạn hãy thử thay hằng apple bằng coconut xem có gì xẩy ra.

Các vấn đề liên quan đến Chuỗi sẽ được nghiên cứu sâu hơn trong phần  [Basic] Swift Guide - Bài 3 String and characters.

II - Mảng ( Array ) và Từ điển (Dictionary)


+ Mảng là tập hợp các phần tử có cùng kiểu dữ liệu.
+ Từ điển là kiểu tập hợp trong đó có hai thành phần chính liên hệ với nhau là khóa (key) và giá trị (value).
*Cả hai đều sử dụngdụng cặp ngoặc vuông (brackets) "[ ]" để khai báo. Tuy nhiên có sự khác nhau trong khai báo cũng như cách sử dụng của 2 kiểu này.

2.1 Mảng


Khai báo Mảng: var <tên mảng> = <kiểu dữ liệu> []() // khai báo mảng rỗng
Khởi tạo Mảng: var <tên mảng> = [<phần tử 0>,<phần tử 1>,...,<phần tử n>]
Truy xuất đến các phần tử của mảng sẽ thông qua chỉ số( số thứ tự) của phần tử đó trong mảng:  <Tên mảng> [số thứ tự phần tử]

* số thứ tự của phần tử trong mảng được đánh bắt đầu từ 0

2.2 Từ điển


Khai báo Từ điển: var <tên từ điển> = Dictionary<kiểu dữ liệu cho từ khoá, kiểu dữ liệu cho giá trị>() // khai báo từ điển rỗng.
Khởi tạo Từ điển: var <tên từ điển> = [<từ khoá 0>:<giá trị 0>,<từ khoá 1>:<giá trị 1>,...,<từ khoá n>:<giá trị n>]
Truy xuất đến các phần tử của từ điển sẽ thông qua từ khoá: <Tên từ điển>[<"từ khoá">]

Về Khai báo, truy xuất Mảng và Từ điển sẽ được nghiên cứu sâu hơn tại  [Basic] Swift Guide - Bài 4 Collection Types.

Vận dụng: Các bạn thử thay từ khoá var bằng let xem có chuyện gì xẩy ra. Ngoài ra thì những bạn đã có học Objective-C thì hãy so sánh cho tôi let/var Array sẽ tương ứng như nào với NSArray và NSMutableArray.

Bài 1 của chúng ta đến đây là kết thúc , cảm ơn mọi người đã theo dõi, mọi thắc mắc có thể post trên FanPage Facebook.com/SwiftTut hoặc comment ngay dưới topic để được giải đáp.

Chúc các bạn học tốt.


Link download Source : Link Mediafire , Link G-Driver .
Chúng ta sẽ tiếp tục gặp nhau trong Bài 2: Control Flow - Các điều khiển cơ bản if-then, swith-case, for-in, while, do-while. 



Fun: 
+ đã không còn dấu ";"  sau mỗi câu lệnh.
+ có ai để ý là dùng println() nó hỗ trợ in ra cả mảng lẫn từ điển không ?


Pages