Kiến thức cơ bản về Swift(Phần 2) – Hằng và Biến


Tiếp theo bài trước chúng ta đã tìm hiểu về các kiểu dữ liệu cơ bản trong Swift. 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.

1. 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 đó.
Ví dụ:

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 Swif 4”, Ở đâ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:

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:

Để 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 đó.

  • 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.

Sẽ không dễ gì gán một kiểu số cho biến number. Nhưng hay xem điều gì xảy ra khi chúng ta làm điều đó.

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:

Đ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 đó.

2. 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.

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:

  • 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.

3. 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ụ:

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

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.
Hy vọng các bạn thích và học được nhiều kiến thức từ bài viết này. Mong các bạn chia sẽ nó để mọi người cùng học và cùng trao đổi. Mọi thắc mắc hay trao đổi về bài viết, các bạn có thể để lại bình luận bên dưới mình sẽ hỗ trợ sớm nhất.

Post a Comment

0 Comments