Rust 型キャストの使い方と注意点について
型キャストは、ある型の値を別の型に変換する操作です。
Rustでは型システムは厳しいため、異なる型の値を直接混合することはできません。
基本的な型キャスト
Rustでは型キャストはasを使用して行います。
let x = 10i32;
let y = x as f64;
上記コードではi32型の整数をf64型の浮動小数点数にキャストしています。
数値の型キャスト
数値の型キャストは、異なる整数型や浮動小数点型の間で変換するために使われます。
let a = 10u8;
let b = a as u32;
Rustの整数型は、符号の有無やビット幅によって区別されます。
型キャストの注意点
データの損失
型キャストでは、元の値からデータが失われる可能性があります。
例えば、32ビット整数を8ビット整数にキャストすると、値がラップアラウンドして予期しない結果を生じることがあります。
let large_number = 300i32;
let small_number = large_number as u8;
精度の損失
浮動小数点型へのキャストでは、精度が失われる可能性があります。特に、浮動小数点数を整数にキャストすると、小数部分が切り捨てられます。
let pi = 3.14f64;
let truncated = pi as i32;
Rustをもっと詳しくなりたい方に
Rustプログラミング完全ガイド 他言語との比較で違いが分かる!
個人的には他の言語開発もそれなりにあったことからこの本を読むことでかなりRustへの理解が深まりました。
プログラムやシステム的な専門用語は当たり前に登場するものの、他の言語での開発経験がある方なら問題ないでしょう。むしろその経験があることで、多言語との比較をしながら読み進めることができます。
内容的には大容量かつ丁寧すぎるほど嚙み砕いて説明がされているため、情報量は十分といえます。Rust自体学習コストが高く、難易度の高い言語のためこのくらいが妥当といえます。
プログラミング初心者レベルの方には難しい内容となっていますが、Rustの概念を理解し、基礎を把握することができる本であること間違いなしです。
Rust学習のために筆者が実際に読んでおすすめしたい本をまとめています。
基礎から学ぶRustプログラミング入門
本コースではRustについて全く経験がない方でもスムーズに学習を進められるようにとなっています。
基本的にはコードベースで解説を行い、抽象度が高く難しい内容に関しては適宜スライドも使いながら丁寧に解説します。そしてただ文法を学ぶだけではなく、最終的には演習としてCLIアプリケーションを作成し学習内容の定着を図ります。
以下の記事では筆者が実際に受講したおすすめUdemy教材をまとめています。
この記事が気に入ったらサポートをしてみませんか?