0Pricing
Zig Academy · Ders

Baytları Karşılaştırma ve Arama

Dizelerde std.mem yardımcılarını kullanın.

Baytları Karşılaştırma ve Arama, CoddyKit'te ücretsiz bir Zig Academy dersidir. Bu, 4 dersinin 3. dersidir. Aşağıdan dersin tamamını ücretsiz okuyabilir, sonra tarayıcıda yerleşik kod editörü ve 7/24 yapay zeka koçu ile uygulamalı olarak pratik yapabilirsin. Bu, Zig Academy öğrenme yolunun bir parçasıdır ve ilerlemeniz web ve CoddyKit uygulaması arasında senkronize olur. Zig Academy kursu toplamda 4 dersten oluşur.

Bu dersin bazı bölümleri henüz çevrilmemiş olup İngilizce olarak gösterilmektedir.

You Cannot Use ==

Two slices are different windows, so == compares pointers and lengths, not contents. Comparing text needs a real byte-by-byte check.

std.mem to the Rescue

The standard library module std.mem works on slices of any element type, and that includes your []const u8 strings.

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

eql Compares Contents

Use mem.eql to test whether two slices hold the same bytes in the same order. It returns a plain bool you can branch on.

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

Pass the Element Type

Many std.mem helpers take the element type as their first argument. For strings that argument is always u8, matching []const u8.

Find a Substring

Search for text inside text with indexOf. It returns an optional index: the position of the first match, or null if absent.

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

Handle the null

Because indexOf returns an optional, unwrap it with if or orelse. A null result simply means the needle was not found.

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

Search from the End

Need the last occurrence instead of the first? Reach for lastIndexOf, which scans backward and returns an optional index too.

Prefix and Suffix

Check how a string begins or ends with startsWith and endsWith. Both take u8 and return a clean bool, perfect for parsing.

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

Single-Byte Search

To locate one byte rather than a substring, use indexOfScalar. It is the fast path when you only need a single character.

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

Count Occurrences

Use mem.count to tally how many times a needle appears in the text. It returns a usize, never null, even when the count is zero.

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

Case Sensitivity

These helpers are case-sensitive: A and a are different bytes. Normalize case first if you want a case-insensitive match.

Quick Check

You want to know if two strings contain exactly the same text.

Recap

You compared text with mem.eql and searched it using indexOf, startsWith, indexOfScalar, and count, all aware of null and case. 🔍

Sıkça Sorulan Sorular

“Baytları Karşılaştırma ve Arama” dersi ücretsiz mi?

Evet — “Baytları Karşılaştırma ve Arama” dersin tüm metni burada web'de ücretsiz olarak okunabilir. Etkileşimli olarak pratik yapmak (yerleşik kod editörü ve 7/24 yapay zeka koçu) ve Zig Academy kursunun geri kalanını açmak için CoddyKit PRO'ya yükselt. Zig Academy kursu toplamda 4 dersten oluşur.

“Baytları Karşılaştırma ve Arama” dersinde ne öğreneceğim?

Dizelerde std.mem yardımcılarını kullanın. Zig Academy ile uygulamalı kodu tarayıcıda doğrudan çalıştırarak pratik yaparsın ve 7/24 yapay zeka koçu dersi çalışırken sorularını yanıtlar.

Zig Academy öğrenmeye başlamak için deneyim gerekli mi?

Önceden deneyim gerekmez. CoddyKit'te Zig Academy, başlangıçtan ileri seviyeye kadar yapılandırıldığı için buradan başlayabilir veya başından başlayıp kendi hızında ilerleme yapabilirsin. Bu, 4 dersinin 3. dersidir.

“Baytları Karşılaştırma ve Arama” dersi ne kadar sürer?

Çoğu CoddyKit dersi yaklaşık 5–10 dakika sürer. Her biri kısa ve etkileşimli olduğu için sabit ilerleme yaparsın ve web ile uygulama arasında tam olarak bıraktığın yerden devam edebilirsin.

Bu Zig Academy dersinde kod yazıp çalıştırabilir miyim?

Evet. Her Zig Academy dersi yerleşik bir kod editörü içerir, bu sayede tarayıcıda gerçek kod yazıp çalıştırabilir ve anlık yapay zeka geri bildirimi alırsın — yerel kurulum gerekli değildir.

Bu kursun tüm dersleri

  1. Dizeler []const u8 Türündedir
  2. Dize Değişmezleri ve Kaçışlar
  3. Baytları Karşılaştırma ve Arama
  4. std.fmt ile Metin Biçimlendirme
← Zig Academy Sayfasına Dön