Bytes vergleichen und durchsuchen
Verwenden Sie std.mem-Hilfsfunktionen für Strings.
Bytes vergleichen und durchsuchen ist eine kostenlose Zig Academy-Lektion auf CoddyKit. Dies ist Lektion 3 von 4. Du kannst die komplette Lektion unten kostenlos lesen – dann übst du sie direkt im Browser mit einem integrierten Code-Editor und einem KI-Tutor rund um die Uhr. Sie ist Teil des Zig Academy-Lernpfads, und dein Fortschritt wird über Web und CoddyKit-App synchronisiert. Der Zig Academy-Kurs umfasst insgesamt 4 Lektionen.
Teile dieser Lektion wurden noch nicht übersetzt und werden auf Englisch angezeigt.
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"); // truePass 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"); // 2Handle 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"); // 3Case 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. 🔍
Häufig gestellte Fragen
Ist die Lektion „Bytes vergleichen und durchsuchen“ kostenlos?
Ja — der vollständige Text von „Bytes vergleichen und durchsuchen“ ist hier im Web kostenlos zu lesen. Um sie interaktiv zu üben (integrierter Code-Editor und 24/7 KI-Tutor) und den Rest des Zig Academy-Kurses freizuschalten, upgrade auf CoddyKit PRO. Der Zig Academy-Kurs umfasst insgesamt 4 Lektionen.
Was lerne ich in „Bytes vergleichen und durchsuchen“?
Verwenden Sie std.mem-Hilfsfunktionen für Strings. Du übst Zig Academy mit praktischem Code, den du direkt im Browser ausführst, und ein 24/7 KI-Tutor beantwortet deine Fragen während du die Lektion bearbeitest.
Brauche ich Erfahrung, um Zig Academy zu starten?
Keine Vorkenntnisse erforderlich. Zig Academy auf CoddyKit ist für Anfänger bis fortgeschrittene Lernende strukturiert, sodass du hier starten oder von Anfang an beginnen und in deinem eigenen Tempo voranschreiten kannst. Dies ist Lektion 3 von 4.
Wie lange dauert die Lektion „Bytes vergleichen und durchsuchen“?
Die meisten CoddyKit-Lektionen dauern etwa 5–10 Minuten. Jede ist kompakt und interaktiv, sodass du stetig Fortschritte machst und genau dort weitermachst, wo du aufgehört hast – im Web und in der App.
Kann ich in dieser Zig Academy-Lektion Code schreiben und ausführen?
Ja. Jede Zig Academy-Lektion enthält einen integrierten Code-Editor, sodass du echten Code direkt in deinem Browser schreibst und ausführst und sofort KI-Feedback erhältst — ohne lokale Einrichtung erforderlich.
Alle Lektionen in diesem Kurs
- Strings sind []const u8
- String-Literale und Escape-Sequenzen
- Bytes vergleichen und durchsuchen
- Text mit std.fmt formatieren