Tipe Data Swift (Dengan Contoh)

Dalam tutorial ini, Anda akan belajar tentang tipe data berbeda yang didukung bahasa pemrograman Swift dan menggunakannya saat membuat variabel atau konstanta.

Tipe data adalah tipe data (nilai) yang dapat disimpan variabel atau konstanta di dalamnya. Misalnya, dalam artikel Variabel dan Konstanta Swift, Anda membuat variabel dan konstanta untuk menyimpan data string di memori.

Data ini dapat berupa teks / string ("Halo") atau angka (12.45) atau hanya bit (0 & 1). Menentukan tipe data memastikan hanya tipe data yang ditentukan yang disimpan.

Mari kita lihat skenario:

Misalkan Anda ingin membuat game. Karena, sebagian besar game menampilkan skor tinggi dan nama pemain setelah game selesai, Anda perlu menyimpan kedua data ini untuk game Anda.

Skor tertinggi adalah angka (misalnya 59) dan nama pemain adalah string (misalnya Jack). Anda dapat membuat dua variabel atau konstanta untuk menyimpan data.

Di Swift, ini bisa dilakukan dengan mendeklarasikan variabel dan tipe datanya sebagai:

 var highScore: Int = 59 var playerName: String = "Jack"

Di sini, kita mendeklarasikan variabel highScore dari tipe Intyang menyimpan nilai 59. Dan, variabel playerName tipe Stringyang menyimpan nilai Jack.

Namun, jika Anda melakukan hal seperti ini:

 var highScore: Int = "Jack"

Anda akan mendapatkan kesalahan waktu kompilasi yang menyatakan tidak dapat mengubah nilai tipe 'String' menjadi tipe 'Int' yang ditentukan .

Itu karena Anda menyatakan highScore untuk menyimpan nilai integer tetapi menempatkan string di dalamnya. Kesalahan ini memastikan highScore hanya dapat menyimpan nomor dan bukan nama pemain.

Ukuran Tipe Data

Bagian penting lainnya dari tipe data adalah ukurannya. Ini menentukan ukuran data yang dapat disimpan dalam variabel atau konstanta tertentu.

Sebuah Jenis ini ukuran diukur dari segi bit dan dapat menyimpan nilai-nilai upto 2 bit . Jika Anda tidak tahu tentang Bit, anggap saja sebagai nilai yang 0 atau 1.

Jadi, untuk Type size = 1 bit, ia hanya dapat menyimpan hingga, 2 1 = 2, dua nilai: 0 atau 1. Jadi sistem 1 bit untuk program huruf dapat menafsirkan 0 sebagai a / 0 dan 1 sebagai b / 1.0.

 0 -> a atau 0 1 -> b atau 1

Demikian juga, sistem dua bit dapat menyimpan hingga 2 2 = 4 nilai: (00,01,10,11) dan setiap kombinasi dapat direpresentasikan sebagai:

 00 -> a atau 0 01 -> b atau 1 11 -> c atau 2 10 -> d atau 3

Untuk sistem bit, ia dapat menyimpan maksimal 2 n nilai di dalamnya.

Tipe Data Swift

Jenis data paling umum yang digunakan di swift tercantum di bawah ini:

Bool

  • Variabel / Konstanta yang dideklarasikan dari tipe Bool hanya dapat menyimpan dua nilai trueatau false.
  • Nilai Default : salah
  • Ini sering digunakan saat Anda bekerja dengan if-elsepernyataan. Swift if else artikelnya membahas secara detail tentang itu.

Contoh 1: Tipe data Boolean

 let result:Bool = true print(result)

Saat Anda menjalankan program, hasilnya adalah:

 benar

Bilangan bulat

  • Variabel / Konstanta yang dideklarasikan berjenis integer dapat menyimpan bilangan bulat baik positif maupun negatif termasuk nol tanpa komponen pecahan.
  • Nilai Default : 0
  • Ukuran : 32/64 bit tergantung pada jenis platform.
  • Rentang :
    -2.147.483.648 hingga 2.147.483.647 (platform 32 bit) -9223372036854775808 hingga 9223372036854775807 (platform 64 bit
  • Ada banyak varian Integer type.eg UInt, Int8, Int16dll yang umum yang paling Anda gunakan adalah dari Int.
  • Jika Anda memiliki kebutuhan untuk menentukan ukuran / jenis bilangan bulat variabel / konstanta dapat menahan, Anda dapat menyimpan lebih khusus menggunakan UInt, Int8, Int16dll yang kita akan mengeksplorasi di bawah ini.

Contoh 2: Tipe data integer

 var highScore:Int = 100 print(highScore) highScore = -100 print(highScore) 

Saat Anda menjalankan program, hasilnya adalah:

 100 -100 

Dalam contoh di atas kami mendeklarasikan variabel tipe highScore Int. Pertama, kami menetapkannya dengan nilai 100 sehingga print(highScore)menghasilkan 100 di layar.

Kemudian, kami mengubah nilainya menjadi -100 dengan menggunakan operator penugasan highScore = -100, print(highScore)keluaran -100 di layar.

Mari jelajahi beberapa varian Inttipe di Swift.

Int8

  • Varian tipe bilangan bulat yang dapat menyimpan bilangan kecil positif dan negatif.
  • Nilai Default : 0
  • Ukuran : 8 bit
  • Rentang : -128 hingga 127

Sebuah Int8bilangan bulat dapat menyimpan sama sekali 2 8 = (256) nilai-nilai di dalamnya. yaitu dapat menyimpan angka dari 0 hingga 255 kan?

Yes, you are correct. But since, Int8 includes both positive and negative numbers we can store numbers from -128 to 127 including 0 which totals to 256 values or numbers.

 var highScore:Int8 = -128//ok highScore = 127 //ok highScore = 128 // error here highScore = -129 //error here 

You can also find out the highest and lowest value a type can store using .min and .max built in Swift functions.

Example 3: Max and Min Int8 data type

 print(Int8.min) print(Int8.max) 

When you run the program, the output will be:

 -128 127

UInt

  • Variant of Integer type called UInt (Unsigned Integer) which can only store unsigned numbers (positive or zero).
  • Default Value: 0
  • Size: 32/64 bit depends on the platform type.
  • Range: 0 to 4294967295 (32 bit platform)
    0 to 18446744073709551615 (64 bit platform)

Example 4: UInt data type

 var highScore:UInt = 100 highScore = -100//compile time error when trying to 

The above code will give you a compile time error because a Unsigned Integer can only store either 0 or a positive value. Trying to store a negative value in an Unsigned Integer will give you an error.

Float

  • Variables or Constants declared of float type can store number with decimal or fraction points.
  • Default Value: 0.0
  • Size: 32 bit floating point number.
  • Range: 1.2*10-38 to 3.4 * 1038 (~6 digits)

Example 5: Float data type

 let highScore:Float = 100.232 print(highScore) 

When you run the program, the output will be:

 100.232

Double

  • Variables / Constants declared of Double type also stores number with decimal or fraction points as Float but larger decimal points than Float supports.
  • Default value : 0.0
  • Size: 64-bit floating point number. (Therefore, a variable of type Double can store number with decimal or fraction points larger than Float supports)
  • Range: 2.3*10-308 to 1.7*10308 (~15 digits)

Example 6: Double data type

 let highScore:Double = 100.232321212121 print(highScore) 

When you run the program, the output will be:

 100.232321212121

Character

  • Variables/Constants declared of Character type can store a single-character string literal.
  • You can include emoji or languages other than english as an character in Swift using escape sequence u(n) (unicode code point ,n is in hexadecimal).

Example 7: Character data type

 let playerName:Character = "J" let playerNameWithUnicode:Character = "u(134)" print(playerName) print(playerNameWithUnicode) 

When you run the program, the output will be:

 J Ĵ

String

  • Variables or Constants declared of String type can store collection of characters.
  • Default Value: "" (Empty String)
  • It is Value type. See Swift value and Reference Type .
  • You can use for-in loop to iterate over a string. See Swift for-in loop.
  • Swift also supports a few special escape sequences to use them in string. For example,
    • (null character),
    • \ (a plain backslash ),
    • (a tab character),
    • v (a vertical tab),
    • (carriage return),
    • " (double quote),
    • \' (single quote), and
    • u(n) (unicode code point ,n is in hexadecimal).

Example 8: String data type

 let playerName = "Jack" let playerNameWithQuotes = " "Jack "" let playerNameWithUnicode = "u(134)ack" print(playerName) print(playerNameWithQuotes) print(playerNameWithUnicode) 

When you run the program, the output will be:

 Jack "Jack" Ĵack 

See Swift characters and strings to learn more about characters and strings declaration, operations and examples.

In addition to this data types, there are also other advanced data types in Swift like tuple, optional, range, class, structure etc. which you will learn in later chapters.

Things to remember

1. Since Swift is a type inference language, variables or constants can automatically infer the type from the value stored. So, you can skip the type while creating variable or constant. However you may consider writing the type for readability purpose but it’s not recommended.

Example 9: Type inferred variable/constant

 let playerName = "Jack" print(playerName) 

Swift compiler can automatically infer the variable to be of String type because of its value.

2. Swift is a type safe language. If you define a variable to be of certain type you cannot change later it with another data type.

Contoh 10: Swift adalah bahasa tipe aman

 let playerName:String playerName = 55 //compile time error 

Kode di atas akan membuat kesalahan karena kita sudah menentukan bahwa variabel playerName akan menjadi String. Jadi kita tidak bisa menyimpan nomor Integer di dalamnya.

Artikel yang menarik...