Giờ làm việc

T2 - T7 8h30 - 18h00

Liên hệ

 

Seri tự học Swift cơ bản – P1 – Biểu thức, biến và hằng

Tự học Swift cơ bản – Biểu thức, biến và hằng

SwiftObjective C là 2 ngôn ngữ lập trình app iOS, trong đó Swift là ngôn ngữ mới được Apple tạo ra và khuyến cáo sử dụng hơn so với Objective C. Trong seri bài viết này, chúng ta sẽ cùng tìm hiểu cách sử dụng Swift cơ bản để lập trình app iOS, các bạn cùng theo dõi nhé.

(Bài viết được lược dịch: https://www.raywenderlich.com/6338-swift-tutorial-part-1-expressions-variables-and-constants)

Bắt đầu

Khi bạn mở Xcode, sẽ hiển thị giao diện như sau:

Chào mừng bạn đến với Xcode

Nếu bạn không nhìn thấy màn hình này, rất có thể là vì Show this window when Xcode launches không được chọn. Bạn cũng có thể mở màn hình bằng cách nhấn Command-Shift-1 . Bạn cũng có thể nhấp vào Window ▸ Welcome to Xcode từ thanh menu.

Từ màn hình Chào mừng, bạn có thể nhanh chóng tạo một project mới bằng cách nhấp vào Get started with a playground . Nhấp vào đó ngay bây giờ và Xcode sẽ cung cấp cho bạn một sự lựa chọn các mẫu.

Bản mẫu

Nền tảng bạn chọn chỉ đơn giản xác định phiên bản nào của Xcode mẫu sẽ sử dụng để tạo Playground. Hiện tại, các tùy chọn của bạn là iOS (ứng dụng chạy trên iPhone, iPad) , macOS (ứng dụng chạy trên máy tính Mac) hoặc tvOS (ứng dụng chạy trên Tivi Mac). Mỗi nền tảng đi kèm với môi trường riêng được thiết lập và sẵn sàng để bạn bắt đầu chơi xung quanh bên trong bằng mã. Đối với mục đích của hướng dẫn này, chọn bất kỳ nền tảng nào bạn muốn. Bạn sẽ không được viết bất kỳ mã cụ thể nền tảng nào; thay vào đó, bạn sẽ học các nguyên tắc cốt lõi của ngôn ngữ Swift.

Chọn mẫu Blank và bấm Next . Xcode bây giờ sẽ yêu cầu bạn đặt tên cho project và chọn một vị trí để lưu nó. Tên chỉ đơn thuần là mỹ phẩm và cho sử dụng của riêng bạn; khi bạn tạo project của mình, vui lòng chọn tên sẽ giúp bạn nhớ những gì họ đang nói.

Nhấp vào Create để tạo và lưu Playground. Xcode sau đó giới thiệu cho bạn project, như sau:

Tạo nên

Project mới không bắt đầu hoàn toàn trống rỗng nhưng có một số mã khởi động cơ bản để đưa bạn đi. Đừng lo lắng – bạn sẽ sớm tìm hiểu ý nghĩa của mã này.

Tổng quan về Playgrounds

Thoạt nhìn, một Playgrounds có thể trông giống như một trình soạn thảo văn bản khá lạ mắt. Vâng, đây là một số tin tức cho bạn: Về cơ bản chỉ có vậy!

Tổng quan

Ảnh chụp màn hình ở trên nêu bật những điều đầu tiên và quan trọng nhất cần biết về những điều sau đây:

  1. Source editor: Đây là khu vực bạn sẽ viết mã Swift. Nó rất giống một trình soạn thảo văn bản như Notepad hoặc TextEdit. Bạn sẽ nhận thấy rằng nó sử dụng những gì được gọi là phông chữ đơn cách, có nghĩa là tất cả các ký tự có cùng chiều rộng. Điều này làm cho mã dễ đọc hơn và định dạng.
  2. Results sidebar: Khu vực này hiển thị kết quả khi bạn thực thi mã của mình. Bạn sẽ tìm hiểu thêm về cách mã được thực thi khi bạn đọc qua chuỗi. Thanh bên kết quả là nơi chính mà bạn sẽ tìm để xác nhận mã của bạn đang hoạt động như mong đợi.
  3. Execution control: Playgrounds thực thi tự động theo mặc định, có nghĩa là bạn có thể viết mã và ngay lập tức nhìn thấy đầu ra. Điều khiển này cho phép bạn thực hiện lại Playgrounds. Giữ nút ▶ (Thực thi) cho phép bạn chuyển giữa chế độ thực hiện tự động và thực hiện thủ công.
  4. Activity viewer : Điều này cho thấy trạng thái của Playgrounds. Trong ảnh chụp màn hình ở trên, nó cho thấy Playgrounds đã thực hiện xong và sẵn sàng xử lý nhiều mã hơn trong trình chỉnh sửa nguồn. Khi Playgrounds đang thực thi, người xem sẽ chỉ ra điều này với một spinner.
  5. Panel controls : Các công tắc bật tắt này hiển thị và ẩn ba bảng, một bảng xuất hiện ở bên trái, một ở dưới cùng và một ở bên phải. Mỗi bảng sẽ hiển thị thêm thông tin mà bạn có thể cần truy cập theo thời gian. Bạn sẽ thường giấu chúng, vì chúng ở trong ảnh chụp màn hình. Bạn sẽ tìm hiểu thêm về từng bảng này khi bạn di chuyển qua loạt bài.

Playgrounds thực thi mã trong trình chỉnh sửa nguồn từ trên xuống dưới. Mỗi khi bạn thay đổi mã, Playgrounds sẽ thực hiện lại mọi thứ. Bạn cũng có thể buộc thực hiện lại bằng cách nhấp vào Editor ▸ Run Playground trong thanh menu. Ngoài ra, bạn có thể sử dụng điều khiển thực thi.

Bạn có thể bật số dòng ở phía bên trái của trình chỉnh sửa nguồn bằng cách nhấp vào Xcode ▸ Preferences… ▸ Text Editing ▸ Line Numbers  trong thanh menu. Số dòng có thể rất hữu ích khi bạn muốn tham khảo các phần của mã của mình.

Khi playground kết thúc thực thi, Xcode cập nhật thanh bên kết quả để hiển thị kết quả của các dòng tương ứng trong trình chỉnh sửa nguồn. Bạn sẽ thấy cách diễn giải kết quả mã của mình khi bạn làm việc thông qua các ví dụ trong loạt bài này.

Code comments, arithmetic operations (biểu thức toán học), constants (hằng số) and variables (biến) là một số khối xây dựng cơ bản của bất kỳ ngôn ngữ nào và Swift cũng không khác.

Comment Code

Trình biên dịch Swift tạo mã thực thi từ mã nguồn của bạn. Để thực hiện điều này, nó sử dụng một bộ quy tắc chi tiết. Đôi khi những chi tiết này có thể che khuất bức tranh lớn hơn về lý do tại sao bạn viết mã của mình theo một cách nhất định hoặc thậm chí vấn đề bạn đang giải quyết. Để ngăn chặn điều này, thật tốt khi ghi lại những gì bạn đã viết để người tiếp theo đi qua sẽ có thể hiểu được công việc của bạn. Rằng con người tiếp theo, sau tất cả, có thể là tương lai bạn! :]

Swift, giống như hầu hết các ngôn ngữ lập trình khác, cho phép bạn ghi lại mã của mình thông qua việc sử dụng những gì được gọi là comments. Điều này cho phép bạn viết bất kỳ văn bản nào trực tiếp bên cạnh mã của bạn, bị trình biên dịch bỏ qua.

Cách đầu tiên để viết bình luận là như vậy:

 // Đây là một nhận xét.  Nó không được thực thi.

Đây là một single line comment . Bạn có thể xếp chúng lên như vậy để cho phép bạn viết các đoạn văn:

 // Đây cũng là một nhận xét.
 // Trên nhiều dòng.

Tuy nhiên, có một cách tốt hơn để viết bình luận trải dài trên nhiều dòng. Như sau:

 / * Đây cũng là một nhận xét.
    Trải qua nhiều ...
    nhiều ...
    nhiều dòng.  * /

Đây là một nhận xét nhiều dòng . Bắt đầu được ký hiệu là /* và kết thúc được ký hiệu là */ . Đơn giản!

Bạn nên sử dụng nhận xét mã khi cần thiết để ghi lại mã của bạn, giải thích lý do của bạn hoặc đơn giản là để lại những câu chuyện cười cho đồng nghiệp của bạn. :]

In ra

Nó cũng hữu ích để xem kết quả của những gì mã của bạn đang làm. Trong Swift, bạn có thể đạt được điều này thông qua việc sử dụng lệnh print .

print sẽ xuất bất cứ thứ gì bạn muốn đến khu vực gỡ lỗi (debug), đôi khi được gọi là bàn điều khiển .

Ví dụ, hãy xem xét mã sau đây:

 in ("Xin chào, người đọc học việc Swift!")

Điều này sẽ xuất ra một thông điệp tốt đẹp đến khu vực gỡ lỗi, như vậy:

In

Bạn có thể ẩn hoặc hiển thị khu vực gỡ lỗi bằng cách sử dụng nút mũi tên hướng xuống trong hộp được tô sáng màu đỏ trong hình trên. Bạn cũng có thể nhấp vào View ▸ Debug Area ▸ Show Debug Area trong thanh menu để làm điều tương tự.

Các phép tính toán học

Khi bạn lấy một hoặc nhiều phần dữ liệu và biến chúng thành một phần dữ liệu khác, đây được gọi là một operation .

Cách đơn giản nhất để hiểu các operation là suy nghĩ về số học. Phép toán cộng có hai số và chuyển đổi chúng thành tổng của hai số. Phép toán trừ có hai số và chuyển đổi chúng thành sự khác biệt của hai số.

Bạn sẽ tìm thấy số học đơn giản trên tất cả các ứng dụng của mình: Từ việc kiểm đếm số lượt lượt lượt thích trên một bài đăng đến tính toán kích thước và vị trí chính xác của một nút hoặc một cửa sổ, các con số thực sự ở khắp mọi nơi!

Trong phần này, bạn sẽ tìm hiểu về các hoạt động số học khác nhau mà Swift phải cung cấp bằng cách xem xét cách chúng áp dụng cho các số. Sau đó, bạn sẽ thấy các hoạt động cho các loại khác ngoài số.

Biểu thức toán tử (Simple Operations)

Tất cả các hoạt động trong Swift sử dụng một biểu tượng được gọi là toán tử để biểu thị loại hoạt động mà chúng thực hiện.

Hãy xem xét bốn phép tính số học mà bạn đã học trong những ngày đầu đi học: cộng, trừ, nhân và chia. Đối với các hoạt động đơn giản này, Swift sử dụng các toán tử sau:

  • Thêm: +
  • Trừ đi: -
  • Nhân lên: *
  • Phân chia: /

Các toán tử này được sử dụng như vậy:

 2 + 6

 10 - 2

 2 * 4

 24/7

Mỗi dòng này là những gì được gọi là một biểu thức . Một biểu thức có một giá trị. Trong các trường hợp này, tất cả bốn biểu thức có cùng một giá trị: 8. Bạn viết mã để thực hiện các hoạt động số học này giống như bạn sẽ viết nó nếu bạn đang sử dụng bút và giấy.

Giấy vỡ

Trong sân chơi của bạn, bạn có thể thấy các giá trị của các biểu thức này trong thanh bên phải, được gọi là results sidebar, như vậy:

Biểu thức

Nếu bạn muốn, bạn có thể xóa khoảng trắng xung quanh toán tử:

 2 + 6

Xóa khoảng trắng là một điều hoàn toàn hoặc không có gì: Bạn không thể trộn các kiểu. Ví dụ:

 2 + 6 // OK
 2 + 6 // OK
 2 +6 // LRI
 2+ 6 // LRI

Việc đọc biểu thức thường dễ dàng hơn nếu bạn có khoảng trắng ở hai bên của toán tử.

Số thập phân

Tất cả các hoạt động ở trên đã sử dụng toàn bộ số, chính thức hơn được gọi là số nguyên (integers) . Tuy nhiên, như bạn sẽ biết, không phải mọi con số đều là toàn bộ.

Ví dụ, xem xét những điều sau đây:

 22/7

Điều này, bạn có thể ngạc nhiên khi biết, kết quả là số 3. Điều này là do, nếu bạn chỉ sử dụng số nguyên trong biểu thức của mình, Swift làm cho kết quả là một số nguyên. Trong trường hợp này, kết quả được làm tròn xuống số nguyên tiếp theo.

Bạn có thể yêu cầu Swift sử dụng số thập phân bằng cách thay đổi nó thành như sau:

 22.0 / 7.0

Lần này, kết quả là 3.142857142857143, như mong đợi.

Các biểu thức toán tử khác

Bốn thao tác bạn đã thấy cho đến nay rất dễ hiểu bởi vì bạn đã thực hiện chúng trong phần lớn cuộc đời của bạn. Swift cũng có các hoạt động phức tạp hơn mà bạn có thể sử dụng, tất cả chúng đều là các hoạt động toán học tiêu chuẩn – chỉ là những hoạt động ít phổ biến hơn. Bây giờ bạn sẽ xem xét chúng.

Đầu tiên trong số này là operation khác , còn được gọi là operation modulo. Trong phép chia, mẫu số đi vào tử số toàn bộ số lần, cộng với phần còn lại. Phần còn lại này chính xác là những gì hoạt động còn lại mang lại. Ví dụ: 10 modulo 3 bằng 1, vì 3 đi vào 10 ba lần, với phần còn lại là 1.

Trong Swift, toán tử còn lại là ký hiệu % và bạn sử dụng nó như sau:

 28% 10

Trong trường hợp này, kết quả bằng 8 , vì 10 đi vào 28 lần với phần còn lại là 8. Nếu bạn muốn tính toán điều tương tự bằng cách sử dụng các số thập phân, bạn làm như vậy:

 (28.0) .truncatingRemainder (chiaBy: 10.0)

Tính toán này chia 28 cho 10 và sau đó cắt kết quả, cắt bỏ bất kỳ số thập phân bổ sung nào và nó trả về phần còn lại của số đó. Kết quả giống hệt với% khi không có số thập phân.

Shift Operations

Các hoạt động shift-leftshift-right có dạng nhị phân của một số thập phân và dịch chuyển các chữ số sang trái hoặc phải tương ứng. Sau đó, họ trả về dạng thập phân của số nhị phân mới.

Ví dụ: số thập phân 14 ở dạng nhị phân, được đệm thành 8 chữ số, là 00001110 . Sự thay đổi này sang trái bởi hai vị trí dẫn đến 00111000 , tức là 56 trong số thập phân.

Dưới đây là một minh họa về những gì xảy ra trong hoạt động thay đổi này:

Sang trái

Các chữ số đi vào để lấp đầy các điểm trống bên phải trở thành 0. Các chữ số rơi ra ở cuối bên trái bị mất.

Dịch chuyển sang phải là như nhau, nhưng các chữ số di chuyển sang phải.

Các toán tử cho hai hoạt động này như sau:

  • Chuyển sang trái: <<
  • Chuyển sang phải: >>

Đây là những toán tử đầu tiên bạn thấy có chứa nhiều hơn một ký tự. Các nhà khai thác có thể chứa bất kỳ số lượng ký tự, trên thực tế.

Đây là một ví dụ sử dụng cả hai toán tử này:

 1 << 3

 32 >> 2

Cả hai giá trị này đều bằng số 8.

Một lý do để sử dụng ca là để nhân hoặc chia cho quyền hạn của hai dễ dàng. Lưu ý rằng dịch chuyển trái của một cũng giống như nhân với hai, dịch chuyển trái sang hai cũng giống như nhân với bốn, v.v. Tương tự như vậy, dịch chuyển sang phải một cũng giống như chia cho hai, dịch chuyển sang phải theo hai cũng giống như chia cho bốn, v.v.

Vào thời xưa, mã thường sử dụng thủ thuật này bởi vì việc dịch chuyển bit đơn giản hơn nhiều đối với CPU để thực hiện so với phép nhân số học và phép chia số học phức tạp. Do đó, mã đã nhanh hơn nếu nó sử dụng dịch chuyển. Tuy nhiên, những ngày này, CPU nhanh hơn nhiều và trình biên dịch thậm chí có thể chuyển đổi phép nhân và chia theo quyền hạn của hai thành các ca cho bạn. Vì vậy, bạn sẽ thấy dịch chuyển chỉ để chuyển đổi nhị phân, mà bạn có thể sẽ không thấy trừ khi bạn trở thành một lập trình viên hệ thống nhúng!

Trình tự biểu thức toán tử (Order of Operations)

Có nhiều lần cần phải sử dụng nhiều toán tử để tính toán một giá trị. Đây là một ví dụ về cách thực hiện điều này trong Swift:

 ((8000 / (5 * 10)) - 32) >> (29% 5)

Lưu ý việc sử dụng dấu ngoặc đơn, trong Swift, phục vụ hai mục đích: để làm rõ cho bất kỳ ai đọc mã – bao gồm cả chính bạn – ý bạn là gì và để phân tán. Ví dụ, hãy xem xét những điều sau đây:

 350/5 + 2

Điều này bằng 72 (350 chia cho 5, cộng 2) hay 50 (350 chia cho 7)? Những ai chú ý đến trường sẽ la hét 72! Và bạn sẽ đúng!

Swift sử dụng lý do tương tự và đạt được điều này thông qua những gì được gọi là ưu tiên của nhà điều hành . Toán tử phân chia ( / ) có độ ưu tiên cao hơn toán tử cộng ( + ), vì vậy, trong ví dụ này, mã thực hiện thao tác phân chia trước.

Nếu bạn muốn Swift thực hiện bổ sung trước – nghĩa là trả về 50 – thì bạn có thể sử dụng dấu ngoặc đơn như vậy:

 350 / (5 + 2)

Các quy tắc ưu tiên tuân theo giống như bạn đã học trong lớp toán ở trường. Nhân và chia có cùng độ ưu tiên, cao hơn cộng và trừ, cũng có độ ưu tiên như nhau.

Các hàm toán học

Swift cũng có một loạt các hàm toán học để bạn sử dụng khi cần thiết. Bạn không bao giờ biết khi nào bạn cần rút ra một số lượng giác, đặc biệt là khi bạn là một Swifter chuyên nghiệp và viết những trò chơi phức tạp đó! Lưu ý : Không phải tất cả các chức năng này là một phần của Swift. Một số được cung cấp bởi hệ điều hành (HĐH). Không xóa câu lệnh import như một phần của mẫu sân chơi hoặc Xcode sẽ cho bạn biết nó không thể tìm thấy các hàm này.

Ví dụ, hãy xem xét những điều sau đây:

 tội lỗi (45 * Double.pi / 180)
 // 0,7071067811865475

 cos (135 * Đôi.pi / 180)
 // -0.7071067811865475

Chúng tính toán sin và cos tương ứng. Lưu ý cách cả hai sử dụng Double.pi , một Swift không đổi cung cấp cho bạn, sẵn sàng với số pi, được tính toán với độ chính xác nhất có thể của máy tính. Khéo léo!

Sau đó, có điều này:

 (2.0) .sapesRoot () // Tương tự như sqrt (2)
 // 1.414213562373095

Điều này tính căn bậc hai của 2. Bạn có biết rằng sin (45 °) bằng 1 so với căn bậc hai của 2 không?

Một hoạt động phổ biến khác là tìm tối đa của hai biến. Bạn có thể sử dụng chúng như vậy:

 tối đa (5, 10)
 // 10

 tối thiểu (-5, -10)
 // -10

Chúng tính toán tối đa và tối thiểu của hai số tương ứng.

Nếu bạn đặc biệt thích phiêu lưu, bạn thậm chí có thể kết hợp các chức năng này như sau:

 tối đa (sqrt (2), Double.pi / 2)
 // 1.570796326794897

Đặt tên dữ liệu (Naming Data)

Đơn giản nhất, lập trình máy tính là tất cả về thao tác dữ liệu. Hãy nhớ rằng, mọi thứ bạn nhìn thấy trên màn hình của bạn đều có thể được giảm xuống số mà bạn gửi cho CPU. Đôi khi, chính bạn đại diện và làm việc với dữ liệu này dưới dạng nhiều loại số khác nhau; đôi khi, dữ liệu có các dạng phức tạp hơn như văn bản, hình ảnh và bộ sưu tập.

Trong mã Swift của bạn, bạn có thể đặt cho mỗi phần dữ liệu một tên mà bạn sử dụng để tham chiếu đến nó sau này. Tên mang theo một loại liên quan biểu thị loại dữ liệu mà tên đề cập đến, chẳng hạn như văn bản, số hoặc ngày.

Bạn sẽ tìm hiểu về một số loại cơ bản tiếp theo và bạn sẽ gặp nhiều loại khác trong suốt phần còn lại của loạt bài này.

Hằng số (Constants)

Hãy xem này:

 để số: Int = 10

Điều này khai báo một số gọi là hằng number , thuộc kiểu Int . Sau đó, nó đặt giá trị của hằng số cho số 10 . Lưu ý : Nghĩ lại các toán tử, đây là một số khác: Dấu bằng, = , được gọi là toán tử gán .

Kiểu Int có thể lưu trữ số nguyên. Cách bạn lưu trữ số thập phân là như vậy:

 cho số pi: Đôi = 3,14159

Điều này tương tự với hằng số Int , ngoại trừ tên và loại khác nhau. Lần này, hằng số là Double , một loại có thể lưu trữ số thập phân với độ chính xác cao.

Ngoài ra còn có một loại gọi là Float , viết tắt của dấu phẩy động, lưu trữ số thập phân với độ chính xác thấp hơn Double . Trên thực tế, Double có độ chính xác gấp đôi độ Float , đó là lý do tại sao nó được gọi là Double ở vị trí đầu tiên. Float chiếm ít bộ nhớ hơn Double , nhưng nói chung, việc sử dụng bộ nhớ cho các số không phải là vấn đề lớn và bạn sẽ thấy Double được sử dụng ở hầu hết các nơi.

Khi bạn đã khai báo một hằng số, bạn không thể thay đổi dữ liệu của nó. Ví dụ, hãy xem xét mã sau đây:

 để số: Int = 10
 số = 0

Mã này tạo ra một lỗi: Cannot assign to value: 'number' is a 'let' constant

Trong Xcode, bạn sẽ thấy lỗi được biểu thị theo cách này:

lỗi

Các hằng số rất hữu ích cho các giá trị sẽ không thay đổi. Ví dụ: nếu bạn đang tạo mô hình máy bay và cần theo dõi tổng số ghế có sẵn, bạn có thể sử dụng hằng số.

Bạn thậm chí có thể sử dụng một hằng số cho một cái gì đó như tuổi của một người. Mặc dù tuổi của họ sẽ thay đổi theo mỗi ngày sinh nhật, bạn chỉ có thể quan tâm đến tuổi của họ vào lúc này.

Biến (Variables)

Thông thường, bạn muốn thay đổi dữ liệu đằng sau một tên. Ví dụ: nếu bạn đang theo dõi số dư tài khoản ngân hàng của mình bằng tiền gửi và rút tiền, bạn có thể sử dụng một biến thay vì hằng số.

Nếu dữ liệu của chương trình của bạn không bao giờ thay đổi, thì đó sẽ là một chương trình khá nhàm chán! Nhưng, như bạn đã thấy, không thể thay đổi dữ liệu đằng sau một hằng số.

Khi bạn biết bạn sẽ cần thay đổi một số dữ liệu, bạn nên sử dụng một biến để biểu thị dữ liệu đó thay vì hằng số. Bạn khai báo một biến theo cách tương tự, như vậy:

 biến varSố: Int = 42

Chỉ phần đầu tiên của câu lệnh là khác nhau: Bạn khai báo các hằng bằng cách sử dụng let , trong khi bạn khai báo các biến bằng var .

Khi bạn đã khai báo một biến, bạn có thể thay đổi nó thành bất cứ điều gì bạn muốn, miễn là loại đó vẫn giữ nguyên. Ví dụ: để thay đổi biến được khai báo ở trên, bạn có thể làm điều này:

 biếnNumber = 0
 biếnNumber = 1_000_000

Để thay đổi một biến, bạn chỉ cần gán cho nó một giá trị mới. Lưu ý : Trong Swift, bạn có thể tùy ý sử dụng dấu gạch dưới để làm cho số lượng lớn hơn dễ đọc hơn với con người. Số lượng và vị trí của dấu gạch dưới là tùy thuộc vào bạn.

Đây là thời điểm tốt để xem xét kỹ hơn về thanh bên kết quả của sân chơi. Khi bạn nhập mã ở trên vào một sân chơi, bạn sẽ thấy rằng thanh bên kết quả ở bên phải hiển thị giá trị hiện tại của variableNumber ở mỗi dòng:

Biến

Thanh bên kết quả sẽ hiển thị một kết quả có liên quan cho mỗi dòng nếu tồn tại. Trong trường hợp có một biến hoặc hằng, kết quả sẽ là giá trị mới, cho dù bạn vừa khai báo một hằng, hoặc nếu bạn đã khai báo hoặc gán lại một biến.

Sử dụng tên có ý nghĩa

Luôn cố gắng chọn tên có ý nghĩa cho các biến và hằng của bạn. Tên tốt, như bình luận tốt, có thể làm cho mã của bạn dễ đọc hơn.

Một tên tốt mô tả cụ thể những gì biến hoặc hằng đại diện. Dưới đây là một số ví dụ về tên hay:

  • personAge
  • numberOfPeople
  • gradePointAverage

Thông thường, một tên xấu chỉ đơn giản là không đủ mô tả. Dưới đây là một số ví dụ về tên xấu:

  • a
  • temp
  • average

Điều quan trọng là đảm bảo rằng bạn sẽ hiểu biến hoặc hằng đề cập đến điều gì khi bạn đọc lại nó sau này. Đừng phạm sai lầm khi nghĩ rằng bạn có một trí nhớ không thể sai lầm! Việc lập trình máy tính để nhìn lại mã của bạn sớm nhất là một hoặc hai ngày sau và quên đi những gì nó làm. Giúp bản thân dễ dàng hơn bằng cách đặt tên và hằng số trực quan, tên chính xác.

Ngoài ra, lưu ý cách viết tên ở trên. Trong Swift, thông thường là tên trường hợp lạc đà , được giải thích dưới đây. Đối với các biến và hằng, hãy làm theo các quy tắc này để xác định đúng tên của bạn:

  • Bắt đầu với một chữ cái viết thường.
  • Nếu tên được tạo thành từ nhiều từ, hãy nối chúng lại với nhau và bắt đầu mỗi từ tiếp theo bằng một chữ cái viết hoa.
  • Nếu một trong những từ này là viết tắt, hãy viết toàn bộ từ viết tắt trong cùng một trường hợp (ví dụ: sourceURLurlDescription ).

Trong Swift, bạn thậm chí có thể sử dụng toàn bộ các ký tự Unicode. Ví dụ: bạn có thể khai báo một biến như vậy:

 var: Int = -1

Điều đó có thể khiến bạn cười, nhưng hãy thận trọng với những nhân vật đặc biệt như thế này. Chúng khó gõ hơn và do đó, có thể sẽ khiến bạn đau đớn hơn là giải trí.

Lựa chọn tồi

Các ký tự đặc biệt như thế này có thể có ý nghĩa hơn trong dữ liệu mà bạn lưu trữ hơn là trong mã Swift.

Tăng và giảm giá trị biến

Một hoạt động phổ biến mà bạn sẽ cần là có thể tăng hoặc giảm một biến. Trong Swift, điều này đạt được như vậy:

 bộ đếm var: Int = 0

 bộ đếm + = 1
 // bộ đếm = 1

 bộ đếm - = 1
 // bộ đếm = 0

Biến counter bắt đầu là 0 . Gia số đặt giá trị của nó thành 1 , và sau đó phần giảm đặt giá trị của nó trở về 0 .

Các toán tử này tương tự như toán tử gán ( = ), ngoại trừ việc chúng cũng thực hiện phép cộng hoặc phép trừ. Họ lấy giá trị hiện tại của biến, cộng hoặc trừ giá trị đã cho và gán kết quả cho biến.

Nói cách khác, đoạn mã trên là tốc ký cho những điều sau đây:

 bộ đếm var: Int = 0

 bộ đếm = bộ đếm + 1
 // bộ đếm = 1

 bộ đếm = bộ đếm - 1
 // bộ đếm = 0

Tương tự, các toán tử *=/= tương ứng thực hiện phép nhân và phép chia:

 bộ đếm var: Int = 10

 bộ đếm * = 3 // Tương tự như bộ đếm = bộ đếm * 3
 // bộ đếm = 30

 counter / = 2 // Tương tự như counter = counter / 2
 // bộ đếm = 15

Tổng kết

Như vậy, qua bài viết này chúng ta đã tìm hiểu được một số thành phần cơ bản của ngôn ngữ Swift: biến, hằng số, biểu thức toán học. Để có thể sử dụng Swift lập trình ứng dụng iOS một cách thành thạo thì chúng ta cần nhiều kĩ năng về ngôn ngữ này hơn. Điều này sẽ được đề cập trong các bài viết sau, mời các bạn cùng theo dõi nhé. Bạn cũng có thể đăng ký tham gia khoá học lập trình app iOS tại trung tâm CodeFresher.vn để được giảng viên hỗ trợ và hướng dẫn trực tiếp trong việc lập trình ứng dụng iOS từ cơ bản đến nâng cao.

-NMC-

Comments are closed.

Gọi ngay