文字列リテラルとエスケープ
テキストを安全に記述し、エスケープします。
「文字列リテラルとエスケープ」はCoddyKit上の無料Zig Academyレッスンです。 これはレッスン2/4です。 下記で完全なレッスンを無料で読むことができます。その後、ブラウザ内の組み込みコードエディタと24時間対応のAIチューターでハンズオン演習できます。 これはZig Academy学習パスの一部であり、ウェブとCoddyKitアプリ全体で進捗が同期されます。 Zig Academyコースには全4レッスンが含まれています。
二重引用符リテラル
文字列リテラルは二重引用符で囲んで記述します。Zig はそのバイトを読み取り専用メモリに格納し、そこを指す []const u8 スライスを提供します。
const msg = "Hello, Zig!";エスケープシーケンス
リテラル内でバックスラッシュを使うと、エスケープシーケンスが始まります。これにより、通常は入力が難しい、または不可能な文字も含められます。
改行とタブ
基本的なものも同じです。\n は改行を、\t はタブを挿入します。文字列内では、それぞれ 10 と 9 という単一のバイトになります。
const line = "name:\tZig\n";引用符をエスケープする
テキスト内に二重引用符を含めるには、\" でエスケープします。そうしないと、Zig はその引用符の位置で文字列が早く終わったと判断します。
const q = "She said \"hi\".";バックスラッシュをエスケープする
バックスラッシュは特別な文字なので、リテラルの 1 つを記述するには \\ と書きます。バックスラッシュが多い Windows パスでは特に重要です。
const p = "C:\\dev\\zig";16 進バイトエスケープ
\xNN を使うと、2 桁の 16 進数で指定した正確なバイトを埋め込めます。リテラル内に制御バイトやバイナリデータを含めるときに便利です。
const tab = "\x09"; // same as \tUnicode エスケープ
中かっこ内に 16 進数を入れた \u{...} を使うと、任意のコードポイントを記述できます。Zig が適切な UTF-8 バイトに自動的にエンコードします。
const heart = "\u{2764}";複数行文字列
長いテキストでは、各行を \\ で始めます。この複数行リテラルでは改行が保持され、引用符やバックスラッシュのエスケープも必要ありません。
const sql =
\\SELECT *
\\FROM users
;末尾に改行はありません
複数行リテラルは最後の行の後に改行を追加しません。文字列の末尾にどのバイトを置くかを、完全に制御できます。
リテラルはコンパイル時に決まります
文字列リテラルはコンパイル時に分かっているため、プログラムの実行前に Zig が畳み込みとチェックを行えます。長さは定数です。
++ で連結する
++ 演算子を使うと、2 つのコンパイル時文字列を連結できます。結果は新しいリテラルになり、固定値としてコンパイル時に分かっています。
const full = "Hello, " ++ "Zig!";確認問題
通常の二重引用符文字列内に、リテラルのバックスラッシュを 1 つ含める必要があります。
まとめ
\n、\"、\xNN、\u{...} のようなエスケープを使ってリテラルを作成し、\\ の複数行ブロックを使い、++ でテキストを連結できるようになりました。✨
AI チューターと学ぶ Zig — 無料
ブラウザでリアルコードを書いて実行し、24/7 の AI チューターから瞬時にサポートを受け、ウェブまたはアプリで続きから学習できます。
- コース
- 30
- レッスン
- 120
よくある質問
「文字列リテラルとエスケープ」レッスンは無料ですか?
はい。「文字列リテラルとエスケープ」の完全なテキストはこのウェブで無料で読めます。インタラクティブに演習し(組み込みコードエディタと24時間対応のAIチューター)、Zig Academyコースの残りをアンロックするには、CoddyKit PROにアップグレードしてください。 Zig Academyコースには全4レッスンが含まれています。
「文字列リテラルとエスケープ」で何を学びますか?
テキストを安全に記述し、エスケープします。 ブラウザで直接実行するハンズオンコードでZig Academyを演習し、24時間対応のAIチューターがレッスンを進める中での質問に答えます。
Zig Academyを始めるのに経験は必要ですか?
事前経験は必要ありません。CoddyKitのZig Academyは初級者から上級者向けに構成されているため、ここから始めるか最初から始めて、自分のペースで進むことができます。 これはレッスン2/4です。
「文字列リテラルとエスケープ」レッスンにはどのくらい時間がかかりますか?
ほとんどのCoddyKitレッスンは約5~10分かかります。各レッスンはコンパクトでインタラクティブなので、着実に進歩し、ウェブとアプリ全体で正確に前回の場所から再開できます。
このZig Academyレッスンでコードを書いて実行できますか?
はい。すべてのZig Academyレッスンに組み込みコードエディタが含まれているため、ブラウザでリアルコードを書いて実行し、即座のAIフィードバックを取得できます。ローカル設定は不要です。
このコースのすべてのレッスン
- 文字列は[]const u8
- 文字列リテラルとエスケープ
- バイトを比較・検索する
- std.fmtでテキストをフォーマットする