Hằng và biến trong Swift

843

 Trong bài này, chúng ta sẽ tìm hiểu những kiến thức cơ bản về biến số (Variable) và Hằng số (constants) trong Swift. Và cùng xem xét các hằng số(constants) tại sao chúng được khuyến khích dùng nhiều. Chúng ta bắt đầu tạo mới một playgrounds cho bài viết này, sử dụng nó chính là một cách tuyệt vời để học cú pháp và hiểu các khái niệm cơ bản của Swift. Chạy Xcode 9, tạo mới một playground bằng cách chọn: New-> Playground… từ menu File của Xcode, sau đó nhập tên cho playground và chọn nền tảng iOS, chọn Next, Xong chúng ta bắt đầu code nào.

Biến số(Variables)

Khai báo biến số

Trong Swift, chúng ta sử dụng từ khóa var để khai báo một biến số. Nó cũng tương tự như việc khai báo một biến trong các ngôn ngữ khác vậy, nhưng tôi khuyên bạn không nên nghĩ tới cách khai báo của ngôn ngữ lập trình khác khi sử dụng từ khóa var trong Swift. Vì có một vài sự khác biệt quan trọng ở đây. Từ khóa var là cách duy nhất để khai báo một biến số trong Swift.Từ khóa var được sử dụng phổ biến trong việc khai bào biến và gán giá trị cho biến.

var blogName= “Tự học Swift 5 cùng với cafedevn”

Và chúng ta hãy nhớ một điều là không nên sử dụng dấu (semicolon) sau khi kết thúc một dòng code, mặc dù có thể dùng dấu(semicolon), nhưng trường hợp nào bắt buộc dùng thì chúng ta mới dùng. Bạn có thể để ý biến blogName không có mô tả kiểu dữ liệu khi khai báo biến đó, đó chính là một tính năng của Swift khi khai báo biến, gọi là tính tự suy luận (Inference) kiểu dữ liệu.

Kiểu tự suy luận(Type inference)

Trong ví dụ trên ta thấy biến blogName được gán với trị “Tự học Swift 5 cùng với cafedevn”, Ở đây nếu bạn là một người mới học hoặc đã từ dùng JavaScript hoặc PHP, khi đó bạn sẽ nghĩ Swift là ngôn ngữ không bình thường và lỏng lẻo nhưng sự thât không phải vậy. Hãy để tôi nhắc lại cho bạn rằng Swift là ngôn ngữ để lập trình mạnh và an toàn.

Chúng ta mới bắt đầu và Swift đã cho thấy một vài điều kỳ diệu ở đây. Mặc dùng ví dụ trên không chỉ rõ kiểu dữ liệu nào nhưng biến blogName được hiểu với kiểu là String,  đó là kiểu tự suy luận(Type Inference) trong Swift.Giá trị gán cho biến blogName là kiểu String và Swift đủ thông minh để biết được, sau đó chỉ định ngầm biến đó kiểu String.

Ngoài ra chúng ta có thể khai báo một biến tương tự ví dụ trên nhưng theo kiểu tường mình hơn như sau:

var blogName= “Tự học Swift 5 cùng với cafedevn”

Swift yêu cầu bạn phải rõ ràng hoặc ngầm chỉ định kiểu dữ liệu cho biến(Varliable) hay hằng số(constants), nếu không Xcode sẽ thông báo lỗi “Bạn thiếu kiểu dữ liệu cho biến” nếu bạn khai báo như sau:

var number

Để fix lỗi trên thì chúng ta có 2 cách, một là khai báo biến với kiểu tường mình, hai là khai báo và gán cho biến một giá trị cụ thể nào đó.

var number: String
var number = “10”

Thay đổi kiểu dữ liệu

Bạn có thể xem ví dụ bên dưới việc gán mới một trị mới và rất bình thường, chẳng có gì khác biệt.

var blogName : String = “Tự học Swift 5”
var number: String
blogName = “Tự học Swift 5.0000”
number = “10”

Nếu chúng ta gán kiểu số vào biến number, Xcode sẽ thông báo lỗi, rằng chúng ta không thể gán kiểu Int cho biến kiểu String, Đây là một vấn đề lớn của ngôn ngữ lỏng lẻo, nhưng đây là Swift. Swift là ngôn ngữ khá mạnh và an toàn, nên mỗi biến sẽ có một kiểu dữ liệu riêng và chúng ta không thể thay đổi kiểu được.

Vậy để thoát khỏi lỗi đó, thì chúng ta cần phải mô tả lại kiểu cho biến number thành Int như sau:

var blogName : String = “Tự học Swift 5”
var number: Int
blogName = “Cùng học Swift 5.0000”
number = 10

Điều quan trọng, chúng ta phải biết khi khai báo biến trong Swift, chúng ta không cần mô tả tường mình kiểu dữ liệu cho biến hoặc hằng số và mỗi biến hoặc hằng chỉ có một kiểu dữ liệu nhất định, không thể thay đổi kiểu dữ liệu đó.

Hằng số(Constans)

Hằng số(constants) cũng giống như biến số, nhưng nó chỉ có một sự khác biệt duy nhất là không thể thay đổi được giá trị. Giá trị là một hằng số và không thay đổi.

Khai báo hằng số

Để khai báo một hằng số, bạn sẽ dùng từ khóa let. Hãy nhìn vào ví dụ bên dưới, chúng ta sẽ khai báo biến street thay vì dùng var thì chúng ta dùng let.

let blogName : String = “Tự học Swift 5”
var number: Int
blogName = “Cùng tự học Swift 5.0000”
number = 10

Nếu chúng ta chỉ cập nhật dòng đầu tiên var thành let thì Xcode sẽ thông báo lỗi là hằng số thì không thể đổi giá trị. Chúng ta sẽ fix như sau:

let blogName : String = “Tự học Swift 5”
var number: Int
blogName = “Cùng tự học Swift 5.0000”
number = 10

Sử dụng

Tôi hy vọng bạn sẽ đồng ý rằng việc khai báo một hằng số trong Swift thật đơn giản, ở đây không cần các từ khóa rắc rối và phức tạp, cũng như dễ dàng khai báo một biến số vậy.

Việc sử dụng hằng số trong Swift được khuyến khích. Nếu một giá trị không thay đổi hoặc bạn không thay đổi trị khi xử lý, khi đó chúng ta nên dùng hằng số. Đây là một điểm lợi, một điểm lợi trong hiệu suất, nhưng quan trọng hơn là lợi về sự an toàn. Bằng cách dùng biến hằng số ở bất cứ đâu có thể dùng, chỉ cần nó là hằng số thì biến đó sẽ được an toàn, vì trị không bao giờ thay đổi.

In (Print)

Vậy để xem kết quả, hiển thị kết quả ra màn hình console thì chúng ta nên dùng lệnh nào?, Trong Swift, có hỗ trợ hàm print(..) nó cũng tương tự như hàm NSLog() trong Objective-C.

Ví dụ:

var string = “this is a string”
let constant = 3.14
print(string)
print(constant)
print(10 * 50)
print(“Tự học Swift 5.0”)

Hoặc dùng cú pháp \() trong hàm print để hỗ trợ in trị của biến ra console:

Ví dụ:

let blogName = “Tự học Swift 5.0”
let number = 10
print(“Hãy cũng học và chia sẽ tại Blog: \(blogName ) \(number).”)

Biến và hằng là một trong nhưng kiến thức cơ bản mà bạn cần phải nắm thật kỹ khi học và sử dụng ngôn ngữ Swift cũng như các ngôn ngữ lập trình khác, Mặc dù phải mất một ít thời gian để nắm rõ về hằng và biến, một khi bạn đã thực hành tốt nó rồi thì chắc chắn một điều là code của bạn sẽ an toàn và đơn giản để dễ hiểu hơn nhiều. Trong các bài viết tiếp theo chúng ta sẽ tìm hiểu cùng  với nhau về hàm(Function) trong Swift.

TopDev via CafeDev

Xem thêm việc làm mới nhất về code swift cho bạn