day 47 @rust ファイルを読む
use std::fs; fn main() { let file_name = String::from("hoge.txt"); let text = fs::read_to_string(file_name); println!("{}", text); }
day 46 @go make関数
make([]Type, length)
make関数を使うことによってもスライスを作成できる。
day 46 @rust 引数の取得
use std::env; fn main() { let args: Vec<String> = env::args().collect(); println!("{:?}", args); }
day 45 @その他 コマンドラインの引数に関するプラクティス。
フラグはオプションのタイプであり、ブール型のオプションであり、デフォルトでは常にfalseです(例:--verbose、-quiet、-all、-longなど)。
オプションは、関数にhowを実行するよう指示します(例:-a、-l、-verbose、-output、-name、-cなど)。引数が関数に指示するwhatに作用する/から作用する(例*、file1、ホスト名、データベース)。
day 45 @rust テスト3
・ユニットテストの作成
testsというモジュールを作成する。
#[cfg(test)]属性を加える。
テスト関数を追加する。
#[cfg(test)] mod tests { #[test] fn hogehoge_test() { assert_eq!(1, 2) } }
・rustではprivateな関数のテストも可能。
・統合テストの作成
srcと同じ階層にtestsというディレクトリを作成。
testsないにテストを作成。
特定のファイルのテストのみしたい時は
-
- test hogehoge_test
とする。
統合テストで実行されるのはtests直下のみなので、setup teardownなどが必要な時には
tests/common/mod.rs
などを作ってそこに追加する。
day 45 @go nil slice
スライス型の変数を宣言のみして初期化されていない時、
それはnilとなり、長さ0、大きさ0となる。
day 44 @go sliceの長さと容量
len(slice)
で長さが取得可能
lenはlengthの略
cap(slice)
で容量が取得可能
capはcapacityの略