リテラル
リテラルは、ソースコードに直接記述された固定値を指します。 Rustでは、数値、文字、文字列、ブール値、および複合データ型(タプルや配列など)に対応するリテラルが用意されています。
数値リテラル
- 整数リテラル: デフォルトでi32型。型サフィックスを使用して異なる数値型を指定できます(例: 57u8, 3.14f32)。
- 浮動小数点数リテラル: デフォルトでf64型。型サフィックスを使用して指定できます(例: 3.14f32)。
- 進数リテラル: 二進数(0b)、八進数(0o)、十六進数(0x)の表記が可能です。
fn main() { let dec = 98_222; // 十進数 let hex = 0xff; // 十六進数 let oct = 0o77; // 八進数 let bin = 0b1111_0000; // 二進数 let byte = b'A'; // バイトリテラル println!("dec: {}, hex: {}, oct: {}, bin: {}, byte: {}", dec, hex, oct, bin, byte); }
数値リテラルにアンダースコア(_)を使って桁区切りを行うことができます。これにより、長い数値をより読みやすくすることができます。アンダースコアは、数値のどこにでも挿入でき、コンパイラはこれを無視して数値を処理します。
文字列と文字リテラル
- 文字列リテラル: ダブルクォートで囲みます(例: "hello")。&str型のスライスを表し、UTF-8でエンコードされたテキストを保持します。
- 文字リテラル: シングルクォートで囲みます(例: 'a')。char型を表します。
fn main() { let s = "Hello, world!"; let c = 'z'; let heart_eyed_cat = '😻'; println!("s: {}, c: {}, heart_eyed_cat: {}", s, c, heart_eyed_cat); }
ブールリテラル
- ブールリテラル: trueまたはfalseの値を持ちます。
fn main() { let t = true; let f: bool = false; // 明示的に型を指定 println!("t: {}, f: {}", t, f); }