Cara Kerja Inferensi Tipe
Lihat cara Swift menyimpulkan tipe dari konteks.
Cara Kerja Inferensi Tipe adalah pelajaran Swift Academy gratis di CoddyKit. Ini adalah pelajaran 1 dari 4. Kamu bisa membaca pelajaran lengkapnya di bawah secara gratis — lalu praktikkan langsung di browser dengan editor kode bawaan dan tutor AI 24/7. Ini adalah bagian dari jalur belajar Swift Academy, dan progresmu tersinkronisasi di web dan aplikasi CoddyKit. Kursus Swift Academy mencakup 4 pelajaran total.
Apa Itu Inferensi Tipe
Swift dapat menyimpulkan tipe suatu nilai dari konteks sebuah ekspresi. Anda sering kali tidak perlu menuliskan tipenya secara eksplisit.
let count = 42
let name = "Swift"
print(type(of: count))
print(type(of: name))Disimpulkan dari Literal
Literal bilangan bulat disimpulkan sebagai Int, literal desimal sebagai Double, dan literal dalam tanda kutip sebagai String.
let a = 10
let b = 3.14
let c = "hello"
print(type(of: a), type(of: b), type(of: c))Disimpulkan dari Penginisialisasi
Saat Anda memanggil penginisialisasi, tipe hasilnya menentukan inferensi untuk variabel tersebut.
let pi = Double.pi
let flag = Bool(true)
print(type(of: pi))
print(type(of: flag))Disimpulkan dari Hasil Fungsi
Variabel yang diisi dari pemanggilan fungsi akan menggunakan tipe hasil fungsi tersebut.
func makeGreeting() -> String {
return "Hi"
}
let g = makeGreeting()
print(type(of: g))Inferensi dalam Koleksi
Literal larik dan kamus menyimpulkan tipe elemennya dari nilai-nilai di dalamnya.
let nums = [1, 2, 3]
let pairs = ["a": 1, "b": 2]
print(type(of: nums))
print(type(of: pairs))Inferensi Dua Arah
Swift melakukan inferensi dari kedua arah: dari nilai ke variabel, dan dari tipe yang dideklarasikan kembali ke literal.
let x = 5 // Int inferred from literal
let y: Double = 5 // literal adapts to Double
print(type(of: x), type(of: y))Inferensi di Seluruh Ekspresi
Kompiler menyelesaikan tipe seluruh ekspresi secara bersamaan, dengan memilih tipe yang membuat semua operasi valid.
let result = 2 + 3 * 4
print(result)
print(type(of: result))Inferensi Mengurangi Kerumitan
Inferensi membuat kode tetap bersih. Menulis let names: [String] = [...] berlebihan jika literalnya sudah menyatakan String.
let names = ["Ada", "Bob", "Cleo"]
print(names.count)Saat Inferensi Gagal
Jika kompiler tidak dapat menemukan satu tipe yang sesuai, Anda akan mendapatkan kesalahan dan harus menambahkan anotasi. Koleksi kosong adalah contoh yang umum.
let empty: [Int] = []
print(empty.isEmpty)Inferensi Bersifat Statis
Inferensi berlangsung pada waktu kompilasi. Setelah disimpulkan, tipenya tetap; Swift tidak menggunakan tipe dinamis.
var n = 10
// n = "text" // would be a compile error
n = 20
print(n)Inferensi dan Performa
Inferensi tidak memiliki biaya saat program berjalan. Kompiler menyelesaikan tipe sebelum menghasilkan berkas biner, sehingga kode hasil inferensi berjalan sama cepatnya dengan kode beranotasi.
let total = (1...100).reduce(0, +)
print(total)Pemeriksaan Singkat
Uji pemahaman Anda tentang inferensi.
Ringkasan
Inferensi tipe memungkinkan Swift menyimpulkan tipe dari literal, penginisialisasi, nilai hasil, dan konteks di sekitarnya pada waktu kompilasi. Inferensi mengurangi kerumitan tanpa biaya saat program berjalan, tetapi gagal ketika tidak ada satu tipe yang dapat ditentukan, misalnya pada koleksi kosong.
let a = 1
let b = 2.0
let c = "x"
print(type(of: a), type(of: b), type(of: c))Pertanyaan yang Sering Diajukan
Apakah pelajaran “Cara Kerja Inferensi Tipe” gratis?
Ya — teks lengkap “Cara Kerja Inferensi Tipe” gratis dibaca di sini di web. Untuk praktiknya secara interaktif (editor kode bawaan dan tutor AI 24/7) dan buka sisa kursus Swift Academy, upgrade ke CoddyKit PRO. Kursus Swift Academy mencakup 4 pelajaran total.
Apa yang akan aku pelajari di “Cara Kerja Inferensi Tipe”?
Lihat cara Swift menyimpulkan tipe dari konteks. Kamu berlatih Swift Academy dengan kode praktik yang langsung kamu jalankan di browser, dan tutor AI 24/7 menjawab pertanyaanmu saat kamu mengerjakan pelajaran ini.
Apakah aku perlu pengalaman untuk memulai Swift Academy?
Tidak diperlukan pengalaman sebelumnya. Swift Academy di CoddyKit dirancang untuk pemula hingga pelajar tingkat lanjut, jadi kamu bisa memulai di sini atau dari awal dan belajar sesuai kecepatan kamu sendiri. Ini adalah pelajaran 1 dari 4.
Berapa lama pelajaran “Cara Kerja Inferensi Tipe” memakan waktu?
Sebagian besar pelajaran CoddyKit memakan waktu sekitar 5–10 menit. Setiap pelajaran ringkas dan interaktif, jadi kamu membuat kemajuan stabil dan melanjutkan dari tempat kamu tinggalkan di web dan aplikasi.
Bisakah aku menulis dan menjalankan kode dalam pelajaran Swift Academy ini?
Ya. Setiap pelajaran Swift Academy menyertakan editor kode bawaan, jadi kamu menulis dan menjalankan kode nyata langsung di browser dan mendapatkan umpan balik AI instan — tidak diperlukan penyiapan lokal.
Semua pelajaran dalam kursus ini
- Cara Kerja Inferensi Tipe
- Kapan Menambahkan Anotasi Eksplisit
- Inferensi dengan Literal
- Inferensi dalam Closure