Cũng một khoảng thời gian không động vào swift kể từ sau làm ví dụ về flappy bird. Giờ thời gian rảnh mình sẽ làm mấy cái tut nho nhỏ về swift, cũng là ôn lại kiến thức luôn.
Khai báo biến trong swift
Trong swift, ta có thể khai báo biến bằng 2 cách: sử dụng var hoặc let,
let dùng để khai báo biến const, còn var là phần còn lại.
var myInt = 1 // biến int (có thể có hoặc không có ";" cuối câu lệnh)
let myConstInt = 2 // biến int const
var myDouble = 3.0 // biến kiểu double
Như ở ví dụ trên, khai báo biến với var hoặc let thì swift sẽ tự định kiểu cho biến. Với số thực thì mặc định biến sẽ có type là double. Tuy nhiên ta muốn biến nhận kiểu float mà không phải là double thì sao? Ta thêm dấu “:” lúc khai báo biến.
var myInt : Float = 3.0 // float
Kiểu của biến được viết hoa chữ cái đầu, tỷ như: Float, Int, Bool, UInt,…blah blah.
Chú ý: phải gán giá trị cho biến mỗi khi khai báo, thế nên ta không thể viết như dưới đây.
var myInt
Các kiểu dữ liệu trong Swift
-
Int: các dạng đặc biệt của Int: Int8, Int16, Int32, Int64, UInt8, UInt16, UInt32, UInt64. Ở môi trường 32 bit thì Int tương đương với Int32, môi trường 64 bit thì Int tương đương với Int64.
-
Float: hiển thị 32 chữ số thập phân.
-
Double: hiển thị 64 chữ số thập phân. Nếu số dài ta có thể thêm _ dưới mỗi hàng.
var myDouble = 1_000_000 var myFloat = 1.0_999_999
-
Character: kiểu char vd: “1”
-
String: kiểu string. Vd: “xin chao”. Để tạo String rỗng ta có thể viết như sau:
let myStr = "" var myStr2 = String()
-
Bool: nhận 2 giá trị là true và false.
Chú ý: khi khai báo 1 char thì swift sẽ mặc định type là String. (Giống trường hợp Float, Double).
let myChar = "1" // String
let myChar : Character = "1" // character
Array
Các phần tử trong 1 array phải chung kiểu dữ liệu. Có thể khai báo array bằng những cách sau:
let arr : Array<Int> = [1,2,3,4,5];
let arr2 : [Int] = [1,2,3,4,5];
let arr3 = [1,2,3,4,5];
Khai báo mảng rỗng
let emptyArr = [Int]() // mảng Int rỗng
let emptyArr : Array<Int> = [] // mảng int rỗng
Thêm mới 1 phần tử:
arr.append(6) // thêm vào cuối mảng
arr.insert(0, atIndex: 0) // thêm mới theo index
Dictionary
Dictionary dùng để chứa các biến có cùng kiểu dữ liệu. Khác với array là dictionary gọi biến theo key - value chứ không phải theo index.
Khai báo dictionary theo 2 cách như sau:
var dict : Dictionary<String,String> = ["HN" : "HaNoi" , "HCM" :"HoChiMinh"];
var dict2 : [String : String] = ["HN" : "HaNoi"];
hay đơn giản viết vắn tắt như sau
var dict = ["HN" : "HaNoi"]; // key: HN - value: HaNoi
Có thể gọi đến một giá trị trong dictinary bằng key
let strHaNoi = dict["HN"];
Alias
Swift vay mượn sức mạnh từ C/C++ khá nhiều nên ta có thể sử dụng typealias để định danh cho 1 type (giống như typedef trong C/C++ vậy).
typealias Byte = UInt8
var myValue : Byte = 2
Ép kiểu
Trong swift, khi ta thực hiện các phép tính toán học giữa các biến thì phải ép kiểu chúng về cùng 1 kiểu dữ liệu.
var myInt = 10
var myFloat : Float = 2.0
var intValue = myInt / Int(myFloat)
(Còn tiếp)