Bài 4: Kiểu Dữ Liệu Trong Swift 2 - It-star Club

April 26, 2016April 26, 2016
  1. Kiểu String: Là kiểu dữ liệu được sử dụng nhiều nhất trong lập trình, dùng để chứa giá trị chuỗi. Ví dụ: var name:String = “Hoan Nguyen”
  2. Integer: Kiểu số nguyên trong Swift 2 chia làm 2 loại: Sign và Unsign Integer với các kích thước 8, 16, 32, 64 bit. Bạn có thể kiểm tra giá trị lớn nhất của từng kiểu Integer với thuộc tính max. Ví dụ: var maxValue:UInt8 = UInt8.max //kết quả là 255 – Int: Với Int, bạn không cần chọn một kích thước cụ thể nào vì Int sẽ thay thế hết tất cả, trừ khi bạn muốn chọn một kích thước cụ thể trong Integer. Lời khuyên là bạn nên sử dụng Int cho các giá trị số nguyên để hỗ trợ đoạn mã nhất quán và tính tương thích hơn. Ví dụ:  var max:Int = Int.max   //Kết quả: 9223372036854775807 – UInt: Với UInt, bạn không cần chọn một kích thước cụ thể nào bởi UInt sẽ thay thế tất cả, trừ khi bạn muốn sử dụng một kích thước nhất định cho biến số của minh. Nên sử dụng UInt cho các giá trị số nguyên dương để đảm bảo tính nhất quán và khả năng tương thích hơn. Ví dụ: var max2:UInt = UInt.max  //Kết quả: 18446744073709551615
  3. Kiểu Float và Double: Để lưu trữ giá trị thập phân, Swift 2 cung cấp 2 kiểu: – Float (32bit) – Double (64 bit) Ví dụ: //Giá trị lưu trữ lớn nhất của kiểu float var float:Float = FLT_MAX //Kết quả: 3.402823e+38 //Giá trị lưu trữ lớn nhất của kiểu double var double:Double = DBL_MAX //Kết quả: 1.797693134862316e+308
  4. Boolean: Là kiểu dữ liệu trả về giá trị True hoặc False. /Kiểu Boolean let dung = true let sai = false Thường được dùng trong câu lệnh if
  5. Kiểu Safety và Inference: – Ngôn ngữ Swift muốn hướng đến sự an toàn nên bạn phải khai báo rõ ràng về các kiểu dữ liệu của giá trị. Ví dụ như, nếu bạn khai báo kiểu dữ liệu String thì bạn không thể truyển dữ liệu kiểu Int hoặc ngược lại. Bởi vì, Swift thực hiện type check khi thực hiện biên dịch và báo hiệu những kiểu không phù hợp là lỗi. Chính vì vậy, nó giúp cho bạn phát hiện và sửa lỗi càng sớm càng tốt. – Nếu như bạn không chỉ định tường minh một kiểu dữ liệu cho hằng số hoặc biến lúc khai báo thì Swift  có một cơ chế gọi là Inference để tìm ra kiểu dữ liệu thích hợp dựa trên giá trị mà bạn cung cấp. Ví dụ: var chuoi = “KhoaPham.vn” //Kiểu Inference sẽ hiểu là kiểu String var soInt = 23 //Kiểu Inference sẽ hiểu là kiểu Int
  6. Kiểu Aliases: //Kiểu Aliases typealias alias = UInt32 var so5:alias = 5 Ta có thể thấy kiểu Aliases được khai báo với tên alias và nhận kiểu dữ liệu là UInt32. Biến so5 nhận kiểu dữ liệu UInt32 thông qua alias. Từ ví dụ trên, ta thấy kiểu aliases hữu ích khi muốn đề cập đến một kiểu đã tồn tại.
  7. Kiểu Tuple: Là một kiểu dữ liệu mới trong Swift 2. Kiểu Tuple có thể nhóm các biến và giá trị thành một tập hợp, các giá trị của các biến này không nhất thiết phải cùng kiểu dữ liệu. Khi khai báo kiểu Tuple, bạn phải khai báo với từ khóa let. Ví dụ: let tuple1 = (username: “Hoan Nguyen”, password: 123456) print(“username: ” \(tuple1).username and “password: ” \(tuple1.password)) Hoặc khai báo ngắn gọn: let tuple2 = (“Ku Hoan”, 123456) print(“username: ” \(tuple2.0) and “password: ” \(tuple2.1))
  8. Optional: Là một khái niệm mới trong Swift để phân biệt rõ ràng các khai báo biến với giá trị ban đầu hay không. Optional trong Swift, cung cấp khả năng kiểm tra lỗi có thể xảy ra trong quá trình biên dịch. Hạn chế được việc xảy exception trong khi run-time. Trong Swift 2, khi khởi tạo biến với giá trị ban đầu gọi là non-optional. Ví dụ: var message : String = “Hello, World” Khi khai báo biến với kiểu dữ liệu mà không khởi tạo giá trị ban đầu hoặc gán giá trị là nil thì trình biên dịch sẽ báo lỗi. Ví dụ: var message1:String // compile error var message2:String = nil // compile error Chính vì vậy, Swift tạo ra Optional để ngăn chặn hiện tượng lỗi này. Vậy Optional được sử dụng như thế nào? – Cách sử dụng Optional: thêm “?” vào lúc khai báo. Ví dụ: //Optional let optional: String? = nil if optional == nil{ print(“nil”) } //Kết quả: “nil”

    nil: Nếu chúng ta khai báo một Optional variable nhưng không khởi tạo giá trị ban đầu mặc định cho nó thì biến Optional này sẽ được tự động gán giá trị nil. Ví dụ: var message:String? Chính vì thế, Swift được gọi là ngôn ngữ an toàn và Optional là một ví dụ về tính an toàn đó. – Unswapping Optional: Trong Swift, chúng ta dùng lệnh if để kiểm tra xem một biến có chứa giá trị hay không. Khi chúng ta biết chắc chăn biến checkValue chứa giá trị thì chúng ta cần “unswapping optional” bằng cách đặt dấu ! ngay sau biến, bằng cách này chúng ta loại bỏ optional cho biến đó. Ví dụ: var checkValue:String? = getValue() var text = “Value is: ” if checkValue { let message = text + checkValue! print(message) }

    Tuy nhiên, nếu chúng ta không biết checkValue có chứa giá trị hay không thì điều gì sẽ xảy ra: var checkValue:String? = getValue() var text = “Value is: ” if checkValue { let message = text + checkValue! print(message) } Trong trường hợp mà biến checkValue không chứa giá trị thì trình biên dịch sẽ không phát hiện ra lỗi, đến khi thực hiện run-time sẽ có thông báo lỗi như sau: fatal error: Can’t unwrap Optional.None Để khắc phục hiện tượng lỗi như trên, chúng ta có thể sử dụng Optional Binding. – Optional Binding: Như đã nói như trên, chúng ta sử dụng Optional Binding để kiểm tra xem một biến có giá trị hay không? var checkValue:String? = getValue() var text = “Value is: ” if tempValue = checkValue { let message = text + tempValue print(message) } Đoạn code bên trên có nghĩa là: nếu biến checkValue có chứa giá trị, tạo biến tempValue và gán giá trị checkValue cho biến này và thực hiện đoạn code bên trong if. Ngược lại nếu biến checkValue = nil thì bỏ qua đoạn code bên trong if. Chúng ta có thể viết lại đoạn code bên trên như sau: var text = “Value is: ” if tempValue = getValue() { let message = text + tempValue print(message) }

  9. Chuyển đổi kiểu số nguyên (Number Type Conversion): Chuyển đổi kiểu Integer về một giá trị đồng nhất để phù hợp với các tình huống sử dụng. Tránh tình trạng tràn dữ liệu, giúp tối ưu bộ nhớ. – Chuyển đổi kiểu số nguyên (Integer Conversion): Ví dụ: let so1:Int8 = 2 let so2:Int16 = 8 let tong = Int16(so1) + so2 Trong trường hợp trên, các biến so1 và so2 là 2 biến số nguyên có kiểu dữ liệu khác nhau. Vì thế, khi tính toán ta phải ép kiểu của so1 về cùng kiểu với so2 là Int16.
  10. Chuyển đổi kiểu Int sang Float/Double: Ví dụ: let so3 = 3 let so4 = 0.9999 let tong = Double(so3) + so4 Trong trường hợp này, so3 có kiểu Int còn so4 có kiểu Double nên ta phải ưu tiên ép kiểu từ Int sang Double.

Share this:

  • X
  • Facebook
Like Loading...

Related

Post navigation Bài 3: Hằng số và biến trong Swift 2Bài 5: Toán tử trong Swift 2

Leave a comment Cancel reply

Δ

Search

Search for:

Recent Posts

  • Bài 1: Nguyên tắc hoạt động của một ứng dụng Android
  • Bài 23: Generics trong Swift
  • Bài 22: Protocol trong Swift
  • Bài 21: Extensions trong Swift
  • Bài 20: Nested type

Archives

  • May 2016
  • April 2016

Contact us

3999 Mission Boulevard, San Diego CA 921091-202-555-1212

About Sela

Sela is not your typical business theme. Vibrant, bold, and clean, with lots of space for large images, it’s a perfect canvas to tell your company’s story. Sela is responsive, which means it adapts to any screen, providing your visitors with a great browsing experience on any device.

Navigation

Privacy & Cookies: This site uses cookies. By continuing to use this website, you agree to their use. To find out more, including how to control cookies, see here: Cookie Policy
  • Comment
  • Reblog
  • Subscribe Subscribed
    • it-star club
    • Sign me up
    • Already have a WordPress.com account? Log in now.
    • it-star club
    • Subscribe Subscribed
    • Sign up
    • Log in
    • Copy shortlink
    • Report this content
    • View post in Reader
    • Manage subscriptions
    • Collapse this bar
%d Design a site like this with WordPress.comGet started

Từ khóa » ép Kiểu Trong Swift