Tipe Nilai dan Kekekalan
Lihat cara let mencegah perubahan tipe nilai.
Tipe Nilai dan Kekekalan 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.
Struktur Merupakan Tipe Nilai
Dalam Swift, struct dan enum merupakan tipe nilai. Menetapkan salah satunya ke variabel baru akan menyalinnya.
struct Point { var x: Int; var y: Int }
var a = Point(x: 1, y: 2)
var copy = a
copy.x = 99
print(a.x, copy.x)let Mengunci Seluruh Nilai
Mendeklarasikan struktur dengan let membuat seluruh nilainya tidak dapat diubah, termasuk semua propertinya.
struct Counter { var value: Int }
let c = Counter(value: 0)
// c.value = 5 // compile error
print(c.value)var Memungkinkan Mutasi
Gunakan var jika Anda bermaksud mengubah properti struktur setelah pembuatannya.
struct Counter { var value: Int }
var c = Counter(value: 0)
c.value = 5
print(c.value)Menyalin Saat Penugasan
Setiap variabel menyimpan salinannya sendiri yang independen. Mengubah salah satunya tidak pernah memengaruhi yang lain.
struct Box { var label: String }
var first = Box(label: "A")
var second = first
second.label = "B"
print(first.label, second.label)Semantik Nilai dalam Fungsi
Meneruskan struktur ke fungsi berarti meneruskan salinan. Nilai asli di luar fungsi tidak berubah.
struct Score { var points: Int }
func bump(_ s: Score) {
var local = s
local.points += 10
}
var s = Score(points: 0)
bump(s)
print(s.points)Properti yang Tidak Dapat Diubah
Properti yang dideklarasikan dengan let di dalam struktur tidak dapat berubah, bahkan pada instans var.
struct User { let id: Int; var name: String }
var u = User(id: 1, name: "Ada")
u.name = "Bob"
// u.id = 2 // compile error
print(u.id, u.name)Larik Juga Merupakan Tipe Nilai
Array, Dictionary, dan Set milik Swift juga merupakan struktur, sehingga ketiganya disalin saat penugasan.
var a = [1, 2, 3]
var b = a
b.append(4)
print(a)
print(b)String Merupakan Tipe Nilai
String juga merupakan tipe nilai. Mengubah sebuah copy tidak memengaruhi nilai aslinya.
var s1 = "hi"
var s2 = s1
s2 += " there"
print(s1)
print(s2)Manfaat Tipe Nilai
Semantik nilai mencegah bug akibat keadaan yang tidak sengaja digunakan bersama. Anda dapat memahami sebuah nilai secara lokal tanpa mengkhawatirkan siapa lagi yang menyimpan referensi ke nilai tersebut.
struct Config { var retries: Int }
let defaultConfig = Config(retries: 3)
var custom = defaultConfig
custom.retries = 5
print(defaultConfig.retries, custom.retries)Ketidakberubahan dan Keamanan
Menandai nilai sebagai let jika memungkinkan membuat kode lebih aman dan jelas. Kompiler memastikan nilai tersebut tidak pernah berubah.
let limit = 100
let name = "stable"
print(limit, name)Penugasan Ulang Variabel let Gagal
Anda tidak dapat menetapkan ulang binding let atau mengubah nilai yang disimpannya.
let pi = 3.14
// pi = 3.15 // compile error
print(pi)Pemeriksaan Singkat
Uji perilaku tipe nilai.
Ringkasan
Struktur dan enumerasi merupakan tipe nilai: keduanya melakukan copy saat penugasan dan saat diteruskan ke fungsi. Binding let mengunci seluruh nilai, dan properti let tidak pernah dapat berubah. Dengan demikian, keadaan menjadi dapat diprediksi dan terisolasi.
struct P { var n: Int }
var a = P(n: 1)
var b = a
b.n = 9
print(a.n, b.n)Pertanyaan yang Sering Diajukan
Apakah pelajaran “Tipe Nilai dan Kekekalan” gratis?
Ya — teks lengkap “Tipe Nilai dan Kekekalan” 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 “Tipe Nilai dan Kekekalan”?
Lihat cara let mencegah perubahan tipe nilai. 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 “Tipe Nilai dan Kekekalan” 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
- Tipe Nilai dan Kekekalan
- Kata Kunci mutating
- mutating dan Penetapan Ulang self
- Alternatif Tanpa Mutasi