Rust-structure
錆-構造
配列は、値の同種のコレクションを表すために使用されます。 同様に、構造体は、Rustで利用可能な別のユーザー定義データ型であり、別の構造体など、異なる型のデータ項目を組み合わせることができます。 構造体は、データをキーと値のペアとして定義します。
構文-構造体の宣言
_struct_キーワードは、構造を宣言するために使用されます。 構造は静的に型付けされるため、構造内のすべてのフィールドはデータ型に関連付けられている必要があります。 構造の命名規則と規則は、変数の規則と規則に似ています。 構造ブロックはセミコロンで終わる必要があります。
構文-構造の初期化
構造体を宣言した後、各フィールドに値を割り当てる必要があります。 これは初期化と呼ばれます。
上記の例では、名前、会社、タイプの年齢の3つのフィールドを持つEmployee構造体を宣言しています。 main()は構造を初期化します。 printlnを使用します! 構造で定義されたフィールドの値を印刷するマクロ。
出力
構造体インスタンスの変更
インスタンスを変更するには、インスタンス変数を可変とマークする必要があります。 次の例では、_Employee_という名前の構造体を宣言して初期化し、後で_age_フィールドの値を50から40に変更します。
出力
構造体を関数に渡す
次の例は、構造体のインスタンスをパラメーターとして渡す方法を示しています。 displayメソッドは、Employeeインスタンスをパラメーターとして受け取り、詳細を出力します。
ここに完全なプログラムがあります-
出力
関数から構造体を返す
関数_who_is_elder()_を考えてみましょう。この関数は、2人の従業員の年齢を比較し、年上の従業員を返します。
ここに完全なプログラムがあります-
出力
構造の方法
メソッドは関数のようなものです。 これらは、プログラミング命令の論理グループです。 メソッドは fn キーワードで宣言されます。 メソッドのスコープは、構造ブロック内にあります。
メソッドは、構造ブロックの外側で宣言されます。 impl キーワードは、構造のコンテキスト内でメソッドを定義するために使用されます。 メソッドの最初のパラメーターは常に self になり、構造体の呼び出しインスタンスを表します。 メソッドは、構造体のデータメンバーを操作します。
メソッドを呼び出すには、最初に構造をインスタンス化する必要があります。 メソッドは、構造体のインスタンスを使用して呼び出すことができます。
構文
図
次の例では、フィールド-_width_および_height_を持つ構造体_Rectangle_を定義しています。 メソッド_area_は、構造のコンテキスト内で定義されます。 areaメソッドは、_self_キーワードを介して構造体のフィールドにアクセスし、長方形の面積を計算します。
出力
構造内の静的メソッド
静的メソッドは、ユーティリティメソッドとして使用できます。 これらのメソッドは、構造がインスタンス化される前でも存在します。 静的メソッドは、構造体の名前を使用して呼び出され、インスタンスなしでアクセスできます。 通常のメソッドとは異なり、静的メソッドは_&self_パラメーターを取りません。
構文-静的メソッドの宣言
関数や他のメソッドなどの静的メソッドには、オプションでパラメーターを含めることができます。
構文-静的メソッドの呼び出し
structure_name ::構文は、静的メソッドにアクセスするために使用されます。
図
次の例は、_Point_構造のインスタンスを作成して返すファクトリクラスとして_getInstance_メソッドを使用します。