Rost -Datentypen

Rost -Datentypen
In Rost hat jeder Wert seinen Datentyp. Der Datentyp teilt dem Compiler mit, welche Art von Wert er ist und wie er ihn benutzt. Obwohl Rust eine statisch getippte Sprache ist, was bedeutet, dass die Art des Wertes vor der Kompilierung bekannt sein sollte, leistet Rust eine unglaubliche Aufgabe, Typen auf der Grundlage des zugewiesenen Werts zu schließen.

Datentypen sind ein universelles Merkmal unter vielen Programmiersprachen und bieten einen soliden Baustein für die damit erstellten Programme, die wir damit erstellen. Denken Sie daran, dass jede Sprache ihre eigenen Typen hat, die sich von anderen Sprachen unterscheiden können.

Als Programmierer ist es mehr als entscheidend, die verschiedenen primitiven Typen zu kennen. Daher werden wir für dieses Tutorial die verschiedenen Typen in der Rost -Programmiersprache durchlaufen.

Rost Primitive Typen

Es gibt zwei Hauptkategorien für Rost -Primitive -Typen:

  1. Skalartypen
  2. Zusammengesetzte Typen

Es spielt jedoch keine Rolle, ob ein Typ skalar oder zusammengesetzt ist. Alles, was Sie wissen müssen, ist, wie Sie ihn in Ihren Programmen verwenden können.

Beginnen wir mit den häufigsten und grundlegenden Typen in Rost:

Ganzzahlen

Die erste Kategorie der primitiven Typen im Rost ist Ganzzahlen. Eine Ganzzahl ist ein Zahlentyp, der keinen Bruchwert hat. Es gibt verschiedene Arten von Ganzzahltypen in Rost und umfassen:

  1. I8
  2. U8
  3. I16
  4. U16
  5. i32
  6. U32
  7. i64
  8. U64
  9. I128
  10. U128
  11. ISSIZE
  12. Usize

Jeder ganzzahlige Typ nimmt das Format von:

Brief

Der Brief in diesem Fall zeigt an, ob die Nummer ein Zeichen haben kann. Wenn der Typ signiert ist (i), kann er einen negativen Wert haben. Wenn nicht signiert (u), ist die Zahl nur positiv.

Der Zahlenwert repräsentiert die Größe in Bits, die der Typ im Speicher einnimmt. Ein i32-Wert stellt beispielsweise eine 32-Bit-Signierte Ganzzahl dar.

Der Typ ISIZE oder Usize hängt von der Architektur ab, auf der der Code ausgeführt wird. Wenn Sie eine 32-Bit-Architektur haben, nimmt der Typ 32-Bit und 64-Bit für 64-Bit-Architekturen ein.

NOTIZ: Stellen Sie sicher, dass Sie Ihre Werte im Bereich Ihrer angegebenen Typen halten. Andernfalls haben Sie einen Überlauf, der zu gefährlichen Operationen führen kann.

Das folgende Beispielprogramm zeigt, wie Ganzzahltypen in Rost deklariert und verwendet werden können.

fn main ()
// Ganzzahltypen
sei i_8 = -128;
lass u_8 = 127;
sei i_16 = -32768;
lass u_16 = 32767;
sei i_32 = -2147483648;
lass u_32 = 2147483647;
sei I_64 = -9223372036854775808_I64;
Sei u_64 = 9223372036854775807_U64;
sei I_128 = -170141183460469231731687303715884105728_I128;
Sei U_128 = 170141183460469231731687303715884105727_U128;
lass i_size = -9223372036854775808_isize;
lass u_size = 9223372036854775807_usize;
println!("i_8 -> \ nu_8 -> \ ni_16 -> \ nu_16 -> \ ni_32 -> \ nu_32 -> \ ni_64 -> \ ni_64 -> > ni_128 -> \nu_128 -> \ni_size -> \nu_size -> ", i_8, u_8, i_16,u_16, i_32, u_32, i_64, u_64, i_128, u_128, i_size, u_size );

Das obige Programm zeigt, wie INT -Typen in Rost deklariert werden können. Dies sollte drucken:

NOTIZ: Wenn Sie den Typ nicht angeben, wenn Sie einen numerischen Wert zuweisen.

Schwimmendem Typ

Rost hat schwimmende Zahlen vom Typ. Dies sind Zahlen, die schwimmende Punktwerte oder Dezimalpunkte enthalten. Es gibt nur zwei Arten von schwimmenden Typen in Rost: F32 und F64, die 32-Bit- und 64-Bit-Werte sind.

Beispiel für den schwimmenden Typ sind wie gezeigt:

sei f_32 = 3.141_f32; // 32-Bit-schwimmender Typ
sei f_64 = 3.141; // 64-Bit-schwimmender Typ

Wenn Sie den Typ für einen Gleitpunktwert nicht angeben, stand der F64-Typ standardmäßig.

Booleschen

Der andere von Rost bereitgestellte Typ ist ein Boolescher. Wie alle booleschen Logikwerte hat es zwei mögliche Werte: Richtig oder falsch. Ein Boolescher ist ein Byte in Größe.

Beispiel ist wie gezeigt:

sei var1 = true;
sei var2 = false;

Zeichentyp

Der Zeichentyp bezieht sich auf ein einzelnes Unicode -Zeichen. Es sind 4 Bytes an Größe. Beispielsweise zeigt Folgendes verschiedene Arten von Unicode -Zeichentypen.

Sei a = 'a';
lass emoji = '😊';
sei pi = 'π';
sei großartig = '大';

Die obigen Codebeispiele stellen verschiedene Unicode -Zeichen dar.

Arrays

Die zweite Kategorie der primitiven Typen im Rost ist zusammengesetzte Typen. Ein Array ist Teil des zusammengesetzten Typs.

Ein Array bezieht sich auf eine geordnete Sammlung von Werten ähnlicher Typen. Der folgende Code zeigt ein Array in Rost:

Brief lassen: [&str; 5] = ["A", "B", "C", "D", "E"];

In Rust deklarieren wir ein Array mit dem LET-Schlüsselwort, gefolgt vom variablen Namen, einem Vollkolon und der Art und Größe in einer quadratischen Klammer.

Scheiben

Slices sind Arrays eng ähnlich, außer dass sie dynamisch sind. Im Gegensatz zu einem Array kann eine Scheibe wachsen oder schrumpfen.

Ein Beispiel ist wie gezeigt:

sei SLC = [1,2,3,4,5];

Tupel

Die andere Art von Verbindungsdatentypen in Rost ist ein Tupel. Ein Tupel ist eine heterogene Sequenz von Werten definiert. Ein Tupel kann im Gegensatz zu einem Array Werte mehrerer Typen enthalten. Tupel haben auch eine Bestellung und können über ihre Indizes zugegriffen werden. Überprüfen Sie unser Tutorial über Rost -Tupel, um mehr zu erfahren.

Ein Beispiel für ein Rost -Tupel ist wie unten gezeigt:

Sei Tup = (1,2,3,4,5); // KEINE TYPE Annotation
Lassen Sie tup_letter: (i32, & str, f64, char) = (100, "Hallo", 3.141, 'a'); // explizite Typ Annotation

Im ersten Tupel lassen wir den Rost -Compiler den Typ basierend auf den bereitgestellten Werten schließen.

Für den zweiten sagen wir dem Compiler ausdrücklich, welche Typen wir wollen. Denken Sie daran, dass die Bestellung in dieser Art von Erklärung von Bedeutung ist.

Abschluss

In diesem Tutorial stellt Sie fest. Sie ermöglichen es uns, verschiedene Datentypen zu handhaben und die Daten zu steuern, die in oder aus unseren Anwendungen aus oder herauskommen.

Danke fürs Lesen!