Zig Academy · Pelajaran

Membandingkan dan Mencari Byte

Gunakan pembantu std.mem pada string.

Pelajaran 3 dari 413 langkah

Membandingkan dan Mencari Byte adalah pelajaran Zig Academy gratis di CoddyKit. Ini adalah pelajaran 3 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 Zig Academy, dan progresmu tersinkronisasi di web dan aplikasi CoddyKit. Kursus Zig Academy mencakup 4 pelajaran total.

Anda Tidak Dapat Menggunakan ==

Dua slice adalah jendela yang berbeda, sehingga == membandingkan pointer dan panjang, bukan isi. Perbandingan teks memerlukan pemeriksaan byte demi byte yang sebenarnya.

std.mem sebagai Solusi

Modul pustaka standar std.mem bekerja pada slice dengan tipe elemen apa pun, termasuk string []const u8 Anda.

const std = @import("std");
const mem = std.mem;

eql Membandingkan Isi

Gunakan mem.eql untuk menguji apakah dua slice menyimpan byte yang sama dalam urutan yang sama. Fungsi ini mengembalikan bool biasa yang dapat Anda gunakan dalam percabangan.

mem.eql(u8, "zig", "zig"); // true

Teruskan Tipe Elemen

Banyak pembantu std.mem menerima tipe elemen sebagai argumen pertamanya. Untuk string, argumen tersebut selalu u8, sesuai dengan []const u8.

Menemukan Substring

Cari teks di dalam teks dengan indexOf. Fungsi ini mengembalikan indeks opsional: posisi kecocokan pertama, atau null jika tidak ada.

mem.indexOf(u8, "hello", "ll"); // 2

Menangani null

Karena indexOf mengembalikan nilai opsional, buka nilainya dengan if atau orelse. Hasil null berarti needle tidak ditemukan.

if (mem.indexOf(u8, h, n)) |i| {
    // found at i
}

Mencari dari Akhir

Memerlukan kemunculan terakhir, bukan yang pertama? Gunakan lastIndexOf, yang memindai dari belakang dan juga mengembalikan indeks opsional.

Awalan dan Akhiran

Periksa bagaimana string dimulai atau diakhiri dengan startsWith dan endsWith. Keduanya menerima u8 dan mengembalikan bool yang sederhana, cocok untuk penguraian.

mem.startsWith(u8, "main.zig", "main");

Pencarian Satu Byte

Untuk menemukan satu byte, bukan substring, gunakan indexOfScalar. Ini adalah jalur cepat saat Anda hanya memerlukan satu karakter.

mem.indexOfScalar(u8, "a,b", ',');

Menghitung Kemunculan

Gunakan mem.count untuk menghitung berapa kali needle muncul dalam teks. Fungsi ini mengembalikan usize, tidak pernah null, bahkan saat hitungannya nol.

mem.count(u8, "aaa", "a"); // 3

Peka Huruf Besar-Kecil

Pembantu ini peka huruf besar-kecil: A dan a adalah byte yang berbeda. Normalisasi huruf terlebih dahulu jika Anda menginginkan kecocokan yang tidak peka huruf besar-kecil.

Pemeriksaan Singkat

Anda ingin mengetahui apakah dua string berisi teks yang persis sama.

Rangkuman

Anda membandingkan teks dengan mem.eql dan mencarinya menggunakan indexOf, startsWith, indexOfScalar, serta count, dengan semuanya memperhatikan null dan huruf besar-kecil. 🔍

Gratis untuk memulai

Belajar Zig dengan tutor AI — gratis

Tulis dan jalankan kode asli di browser kamu, dapatkan bantuan instan dari tutor AI 24/7, dan lanjutkan di mana kamu tinggalkan di web atau aplikasi.

Kursus
30
Pelajaran
120

Pertanyaan yang Sering Diajukan

Apakah pelajaran “Membandingkan dan Mencari Byte” gratis?

Ya — teks lengkap “Membandingkan dan Mencari Byte” gratis dibaca di sini di web. Untuk praktiknya secara interaktif (editor kode bawaan dan tutor AI 24/7) dan buka sisa kursus Zig Academy, upgrade ke CoddyKit PRO. Kursus Zig Academy mencakup 4 pelajaran total.

Apa yang akan aku pelajari di “Membandingkan dan Mencari Byte”?

Gunakan pembantu std.mem pada string. Kamu berlatih Zig 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 Zig Academy?

Tidak diperlukan pengalaman sebelumnya. Zig 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 3 dari 4.

Berapa lama pelajaran “Membandingkan dan Mencari Byte” 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 Zig Academy ini?

Ya. Setiap pelajaran Zig 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

  1. String Adalah []const u8
  2. Literal String dan Escape
  3. Membandingkan dan Mencari Byte
  4. Memformat Teks dengan std.fmt
← Kembali ke Zig Academy