Các kiểu dữ liệu trong swift 3

Mình đã từng viết về Objecitve C trong ios, Ở đây  mình sẽ tiếp tục giới thiệu danh sách bài hướng dẫn  về ngôn ngữ mới đang được Apple phát triển mạnh – Swift – đây sẽ là ngôn ngữ tương lai của Apple.

Swift là gì ? Tại sao developer cần hướng tới Swift?  các bạn có thể tham khảo tại đây . Ở bài này mình sẽ đi sâu hướng dẫn các bạn về  khai báo kiểu dữ liệu cơ bản, cách định nghĩa và truy xuất các kiểu dữ liệu.

Để làm việc với swift 3 bạn cần:

– Update Xcode phiên bản mới nhất.

Apple có cung cấp cho chúng ta công cụ tuyệt vời để test code-Swift: playground. Chúng ta sẽ sử dụng tool playground để học swift3.

Với  playground chúng ta sẽ nhìn thấy kết quả của dòng lệnh ngay bên phải màn hình.

Bắt đầu nào:

Khởi tạo Playground

New->file->Playground, Đặt tên:

Screen Shot 2016-08-17 at 16.15.06

 

Một số điều cần lưu ý:

Trong Swift khi kết thúc dòng lệnh không cần dấu ‘;’

Khai báo tổng quát:

var TênBiến : Kiểudữliệu  = Giá trị

– Khai báo ngầm định:

var TênBiến  = Giá trị

Giá trị sẽ xác định kiểu dữ liệu.

ví dụ đoạn lệnh sau: mình đã giải thích trong code

// khai báo kiểu ngầm định.tự nhận diện kiểu dữ liệu!

var hello = "helloWorld"// kiểu String
var StringA = "start LOL"// Kiểu String do giá trị "start LOL"là kiểu String
var IntSoA = 1// Kiểu Int do giá trị là 1 kiểu Int
var DoubleSoA = 1.1// Kiểu Double do giá trị là kiểu Double
var FloatSoA = 1.2// Mặc định luôn là kiểu Double nếu giá trị nhị phân, Không có kiểu Float mặc định.
var BoolA = true;// Kiểu Bool do giá trị là: true
Không có kiểu mặc định Character.

– Khai báo kiểu rõ ràng:

var TênBiến : Kiểudữliệu  = Giá tr

ví dụ:

// 	khai báo rõ ràng kiểu dữ liệu
var StringB : String = "1"
var IntSoB : Int = 1
var DoubleB : Double = 1.1
var FloatB : Float = 1.2
DoubleB+FloatSoA
var CharB : Character = "b"

– Ép kiểu trong Swift3:

+) Tổng quát Ép kiểu từ số -> số: Kiểu cần ép sang(giá trị số truyền vào).

ví dụ: Int(1.2)=> 1

+) Ép từ xâu sang số: Kiểu cần được ép sang(giá trị xâu truyền vào).

ví dụ: Int(“12”)=>12

+) Ép từ số sang xâu: String(Số)

ví dụ: String(123)=>”123″

Ví dụ cụ thể sau:

// ép kiểu trong Swift

var IntSoC : Int = Int(DoubleB)
var intSoD : Int = Int(StringB)!
var Chuoi : String = String(IntSoB)
var Char:Character = Character(StringB)

– Đối với kiểu String – những điều mới trong Swift:

Nối chuỗi : “(Tên biến)Chuỗi /(tên biến)“:

ví dụ:

// nối chuỗi trong swift
var Conc = "\(StringA) hehe \(hello)"

Các biến được khai báo ở trên, Kết quả là: “start LOL hehe helloWorld”.

 Đối với Array:

Khai báo: var Tên mảng: [kiểu dữ liệu mảng] = [giá trị1, giá trị2,giá trị3]

Truy Xuất: Tên Mảng[Chỉ số]

Update: Tên Mảng[chỉ số]=giá trị mới.

Add: Tên Mảng += [Giá trị]

Delete: Tên Mảng.removeAtIndex(vị trí xoá)

ví dụ:

// Mảng Int
var Array:[Int] = [1,2,3,4,5]
// Màng Truyền vào tuỳ kiểu dữ liệu
var ArrayAnyObject :[AnyObject] = [1,"2",4]
// Khai báo mảng Null
var Arr:[Int] = []
// truy vấn
var count = Array.count
print(Array[1...4])
print(Array[0..<3])
// insert last
Array += [7];
// Update
Array[0]=3
//delete
Array.removeAtIndex(Array.count-1)


 Đối Dictionary :

var Tên:[Kiểu dữ liệu của Key:Kiểu dữ liệu của Value] =[tên key : giá trị]

Truy xuất: tên[key]

Xoá phần tử theo key: tên.removeValueForKey[“tên key cần xoá];

ví dụ:

var Dict:[String:Int] = ["1":1]
var Dict1:[String:Int] = [:]

Dict["1"]
Dict["1"]=8
Dict["2"]=10
Dict.removeValueForKey("1")

Đối với Tuples kiểu mới: 

var tên=(value1, value2, value3)

value là các kiểu values tuỳ ý . Dictionary, value, tuples khác…

ví dụ:

var hocsinh = (
    1,
    ten: "Khoa",
    tuoi: 16,
    "Nu",
    diem: [10, 8, 9, 6],
    (diemtb: ["HK1": 7, "HK2": 9]),
    xeploai: "Gioi",
    gvcn: ["Linh", "Hung"]
)

Đối với có key truy xuất qua key hoặc vị trí:

hocsinh.ten

hocsinh.0

Đối với values chỉ truy xuất thông qua vị trí chỉ số:

hocsinh.0

hocsinh.3

Có gì trong phần tiếp theo: mình sẽ hướng dẫn cho các bạn về các cấu trúc điều khiển cũng như khai báo sử dụng hàm.

link full code:

Add a Comment

Your email address will not be published. Required fields are marked *