Hướng dẫn về cấu trúc điều khiển, hàm trong swift 3

Ở bài trước mình đã hướng dẫn các bạn cơ bản về các kiểu dữ liệu, cấu trúc ngôn ngữ swift 3. Tiếp theo trong bài này mình sẽ giới thiệu cho các bạn về các cấu trúc điều khiển, cũng như khai báo một hàm trong  swift 3. Swift là bản thiết kế lại ngôn ngữ Objective C một cách tuyệt vời.

Chúng ta vẫn tiếp tục sử dụng Playground. File -> new ->Playground.

– Cấu trúc điều khiển:  

Tương tự các ngôn ngữ khác swift 3 cũng sử dụng cấu trúc if else:

Loại 1:

If điều kiện== true{

// thực hiện khi điều kiện đúng.

}

Loại 2:

If  điều kiện== true{

// thực hiện khi điều kiện đúng.

}else{

// ngược lại => Thực hiện code.

}

Loại 3:

If điều kiện1 == true{

// thực hiện khi điều kiện đúng.

}else if  điều kiện2 == true{

// Thực hiện code.

}else{

// ngược lại điều kiện 1 ,2 => Thực hiện code.

}

ví dụ: 

var check :Bool=false
// câu điều kiện trong swift
if check {
    print("true")
}else{
    print("false")
}

=> kết quả sẽ thông báo false.

Tương tự ngôn ngữ khác swift 3 cũng cung cấp switch nhiều lựa chọn. Do vấn đề if else if có giới hạn và trình bày nhiều lựa chọn khó quản lý code. Trong trường hợp nhiều lựa chọn chúng ta nên sử dụng switch.

Switch trong swift 3:

Khai báo tổng quát:

switch điều kiện {

    case 1:// nếu  điều kiện =1

        print(“1”)

        break;

    case 2://nếu  điều kiện =2

        print(“2”)

        break;

    default:// không có lựa chọn nào, luôn chạy vào  default .

        print(“default”)

        break;

}

ví dụ:

// switch.
var c = 2
switch c {
    case 1:
        print("1")
        break;
    case 2:
        print("2")
        break;
    default:
        print("default")
        break;
}

kết quả trả về : 2

Vòng lặp trong swift 3 :

Vòng lặp có giới hạn: for()

Cấu trúc tổng quát :

for đối tượng in danh sách đối tượng {

}

+ Đối tượng i chạy trong danh sách A.

for i in A{

print(i)

}

=> In ra danh sách đối tượng trong danh sách A.

+ Biến i chạy từ 0->3

for i in 0..<3{

    print(i)

}

=> In ra 1,2,3

+ Đối tượng chỉ số i chạy i=0 -> count A.

for i in 0..<A.count{

    print(A[i])

}

In ra các đối tượng trong danh sách A.

– Vòng lặp vô hạn : while

Khai báo tổng quát:

while( điều kiện== true){

// điều kiện đúng thì thực hiện các dòng code bên trong thân while

}

ví dụ:

var check1 :Bool=true

while(check1){
    print("Điều kiện đúng");
    
}

Trả về: “Điều kiên đúng” vô hạn 🙂

– Vòng lặp vô hạn :repeat while:

Trong  swift 3 không sử dụng do while như trong Objective C, hay các ngôn ngữ khác mà sử dụng repeat while tương tự như do while.

khai báo tổng quát:

repeat{

// code

}while(điều kiện )

Ở đây khác while ở chỗ chúng ta luôn thực hiện đoạn code bên trong vòng lặp ít nhât một lần.

+ While kiểm tra điều kiện đúng thì vào vòng lặp

repeat while : vào vòng lặp chạy xong kiểm tra.

ví dụ:

var k = 0;

repeat{
    k += 1;
    print(k)
}while(k<10)

kết quả trả về 1->10;

-Khai báo hàm trong swift 3:

Khai báo tổng quát:

+ func Tên hàm (Tham số 1:Kiểu dữ liệu, tham số 2: Kiểu dữ liệu) -> Giá trị trả về mặc định void {

// code

}

+ ví dụ :

// ham bt
func sum(a:Int, b:Int) -> Int {
    return a+b
}

+  Hàm trả về nhiều tham số:

 func Tên hàm (Tham số 1:Kiểu dữ liệu, tham số 2: Kiểu dữ liệu) -> (Giá trị trả về 1: Kiểu trả về,Giá trị trả về 2: Kiểu trả về) {

// code

}

 ví dụ:

func cal(v1:Int, v2:Int) -> (min: Int, max: Int) {
    if v1<v2 {
        return (min: v1, max: v2)
    }else{
        return (min: v2, max: v1)
    }
}

+ Hàm nhiều tham số truyền vào:

 func Tên hàm (tham số: Kiểu dữ liệu…) -> Giá trị trả về {

// code

}

ví dụ:

func In(values: Int...) -> (first:Int,last:Int) {
    return (first:values[0],last:values[values.count-1])
}

+Tính năng rất tuyệt vời trong Swift là Hàm trong Hàm:

 func Tên hàm (tham số: Kiểu dữ liệu…) -> Giá trị trả về {

       func Tên hàm (tham số: Kiểu dữ liệu…) -> Giá trị trả về {

       }

}

ví dụ:

func Infor() -> Void {
    func Infor1(){
        print("ham1")
    }
    func Infor2(){
        print("ham2")
    }
    Infor1()
    Infor2()

}

+ Hàm có gợi ý tương tự trong Objctive C:

khai báo tổng quát:

func Tên hàm (Tham số 1:Kiểu dữ liệu,Gợi ý tham số 2: Kiểu dữ liệu) -> {

// /code

}

ví dụ : gợi ý “SoATruSob:

func Hieu(intSoA :Int,SoATruSob intSoB:Int) -> Int {
    return intSoA-intSoB;
}

 – Gọi Hàm trong Swift 3:

Tổng quát:

Tên Hàm(tham số1 Giá trị,tham số2 Giá trị,tham số3 Giá trị …vv)

Gọi Hàm khai báo bên trên :

// hàm tổng quát

+ var Sum = sum(3, b: 5);

// hàm nhiều giá trị trả về

+ var t = cal(5, v2: 9)

Truy vấn max: t.max

Truy vấn min: t.min

// hàm truyền vào nhiều tham số

var S = In(1,2,3,4,5)

Truy vấn giá trị cuối: S.last

// Hàm trong hàm

func Infor() -> Void {
    func Infor1(){
        print("ham1")
    }
    func Infor2(){
        print("ham2")
    }
    Infor1()
    Infor2()

}

Infor()

// Hàm có gợi ý

Hieu(7, SoATruSob: 2)

link full code:

http://www.mediafire.com/download/0hvpbnip3jfw6qq/Swift3CoBan2.playground.zip

Có gì trong phần tiếp theo: Tiếp theo mình sẽ hướng dẫn cho các bạn về Class interface hướng đối tượng trong swift 3, block trong

swift3.

 

Add a Comment

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