1. 概要
今回はRustの文字型、論理値型について学んでいきたいと思います。
2. 文字型
Rustの文字型は”(シングルクォート)で文字を囲んで定義します。
fn main() {
let s = 'a';
println!("{}", s);
}
実行します。
cargo run
結果
Compiling hello_rust v0.1.0 (<作業ディレクトリ>/hello_rust)
Finished dev [unoptimized + debuginfo] target(s) in 0.46s
Running `target/debug/hello_rust`
a
問題なく、出力できました。では、次のようにすると、どうでしょうか。
fn main() {
let s = 'abc';
println!("{}", s);
}
実行します。
cargo run
結果
Compiling hello_rust v0.1.0 (<作業ディレクトリ>/hello_rust)
error: character literal may only contain one codepoint
--> src/main.rs:2:13
|
2 | let s = 'abc';
| ^^^^^
|
help: if you meant to write a `str` literal, use double quotes
|
2 | let s = "abc";
| ~~~~~
error: could not compile `hello_rust` due to previous error
文字型は文字を1つだけしか扱うことができないと言われました。もし’abc’と定義したいなら、””(ダブルクォート)で囲んで、文字列型で定義するように言われました。
文字をシングルクォートで囲むことで、文字型として宣言するのは、cやkotlinなどでも同様です。
3. 論理値型
Rustの論理値型はtrueとfalseを持っていて、他の言語と同様にif文やwhile文などの条件式に使われます。
fn main() {
println!("年齢を入力してください。");
// Stringオブジェクトを生成
let mut s = String::new();
// 標準入力
std::io::stdin().read_line(&mut s).expect("入力エラー");
// 入力された年齢をu8型にキャスト
let age: u8 = s.trim().parse().unwrap();
// 入力された年齢によって処理を分岐する
// 18歳以上であればtrueで成人と出力
// 18より下であればfalseで未成年と出力
if age >= 18 {
println!("成人");
} else {
println!("未成年")
}
}
実行します。
cargo run
18と入力
Compiling hello_rust v0.1.0 (<作業ディレクトリ>/hello_rust)
Finished dev [unoptimized + debuginfo] target(s) in 0.47s
Running `target/debug/hello_rust`
年齢を入力してください。
18
結果
Compiling hello_rust v0.1.0 (<作業ディレクトリ>/hello_rust)
Finished dev [unoptimized + debuginfo] target(s) in 0.47s
Running `target/debug/hello_rust`
年齢を入力してください。
18
成人
次に17と入力
Finished dev [unoptimized + debuginfo] target(s) in 0.00s
Running `target/debug/hello_rust`
年齢を入力してください。
17
結果
Finished dev [unoptimized + debuginfo] target(s) in 0.00s
Running `target/debug/hello_rust`
年齢を入力してください。
17
未成年
使い方は他の言語とほとんど変わらないです。
4. まとめ
文字型も論理値型も他の言語とあまり変わらないので直感的にわかりやすかったですね。
標準入力やexcept、unwrapなども出てきましたが、これはまた今度やっていきたいと思ってます。
今回は、以上です。
5. 参考
https://qiita.com/deta-mamoru/items/d28e0539958f331f1fb8
投稿者プロフィール
最新の投稿
- 【Remix】2024年3月23日【Remix】 環境構築手順
- 【Rust】2022年11月27日【Rust】Unsafe Rust
- 【Rust】2022年11月27日【Rust】列挙型
- 【Rust】2022年10月22日【Rust】構造体