Deep Merge dengan mergeOverwrite dan dict
Komposisikan values terstruktur secara terprogram.
Deep Merge dengan mergeOverwrite dan dict adalah pelajaran Helm 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 Helm Academy, dan progresmu tersinkronisasi di web dan aplikasi CoddyKit. Kursus Helm Academy mencakup 4 pelajaran total.
Membangun Peta dalam Templat
Terkadang Anda perlu menyusun peta di dalam templat. Fungsi dict membuatnya dari pasangan kunci dan nilai yang berselang-seling.
{{ $cfg := dict "level" "info" "json" true }}Mengapa Menggabungkan Peta
Anda sering memiliki bawaan bagan dan penggantian dari pengguna, lalu menginginkan satu peta gabungan. Itulah tepatnya yang dihasilkan oleh merge.
Penggabungan Dangkal
Fungsi merge menyalin kunci dari peta sumber ke tujuan, tetapi mempertahankan nilai tujuan jika kunci tersebut sudah ada.
{{ $out := merge $user $defaults }}merge Mengutamakan Tujuan
Dengan merge, argumen pertama menang jika ada kunci yang bertabrakan, sehingga fungsi ini ideal ketika masukan pengguna harus menggantikan nilai bawaan Anda.
Memperkenalkan mergeOverwrite
Fungsi mergeOverwrite melakukan sebaliknya: peta sumber yang muncul belakangan menimpa tujuan dan melapisi nilai di atasnya.
{{ $out := mergeOverwrite $defaults $user }}Dalam, Bukan Dangkal
Kedua pembantu tersebut melakukan penggabungan secara rekursif: peta bertingkat digabungkan berdasarkan setiap kunci, bukan seluruh subpohon yang diganti sekaligus.
Peringatan tentang Mutasi
Berhati-hatilah: merge dan mergeOverwrite mengubah argumen pertamanya secara langsung. Berikan dict baru jika Anda harus mempertahankan yang asli tetap utuh.
{{ $base := dict }}{{ $r := mergeOverwrite $base .Values.extra }}Pola Bawaan Berlapis
Pola yang umum adalah memulai dari dict bawaan, lalu melapiskan nilai pengguna di atasnya agar kunci yang tidak ditetapkan kembali ke nilai yang aman.
{{ $merged := mergeOverwrite (dict "port" 80) .Values.service }}Membaca Nilai yang Digabungkan
Setelah digabungkan, Anda memperlakukan hasilnya seperti peta apa pun dan mengambil kunci dengan dot atau fungsi index seperti biasa.
{{ $merged.port }}Menyerialisasikan Hasil
Untuk menghasilkan struktur gabungan sebagai YAML, teruskan melalui toYaml dan nindent agar blok tersebut berada pada indentasi yang tepat.
{{ toYaml $merged | nindent 4 }}Memilih Satu Kunci
Jika nama kunci bersifat dinamis atau berisi karakter yang tidak biasa, akses peta dengan fungsi index, bukan akses menggunakan dot.
{{ index $merged "log-level" }}Pemeriksaan Singkat
Pemeriksaan singkat tentang arah penimpaan.
Rangkuman
Anda telah mengenal dict untuk membuat peta, merge untuk mempertahankan kunci tujuan, dan mergeOverwrite agar nilai yang muncul belakangan menang; semuanya melakukan penggabungan secara mendalam. 🎉
Pertanyaan yang Sering Diajukan
Apakah pelajaran “Deep Merge dengan mergeOverwrite dan dict” gratis?
Ya — teks lengkap “Deep Merge dengan mergeOverwrite dan dict” gratis dibaca di sini di web. Untuk praktiknya secara interaktif (editor kode bawaan dan tutor AI 24/7) dan buka sisa kursus Helm Academy, upgrade ke CoddyKit PRO. Kursus Helm Academy mencakup 4 pelajaran total.
Apa yang akan aku pelajari di “Deep Merge dengan mergeOverwrite dan dict”?
Komposisikan values terstruktur secara terprogram. Kamu berlatih Helm 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 Helm Academy?
Tidak diperlukan pengalaman sebelumnya. Helm 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 “Deep Merge dengan mergeOverwrite dan dict” 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 Helm Academy ini?
Ya. Setiap pelajaran Helm 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
- Deep Merge dengan mergeOverwrite dan dict
- tpl: Merender String dari Values
- Mengiterasi File dengan range melalui .Files.Glob
- fail dan Penjaga Validasi Kustom