Featured image of post انواع داده های اولیه در rust

انواع داده های اولیه در rust

هر زبان برنامه نویسی انواعی از داده ها رو داره، مثلا داده های عددی، کاراکتر و یا رشته‌ای از کاراکتر ها. زبان rust هم انواع داده‌ای زیادی رو پشتیبانی می‌کنه و خب حتی اگر جایی کمبودی حس کردین، می‌توانید ساختار داده‌ی خودتان را بسازید.

‌ انواع داده ترجمه‌ی کلمه data type هست. و خب برای من استفاده از کلمه انگلیسی‌اش خیلی راحت تره.

نوع داده عدد صحیح

همینطور که می‌دونید عدد صحیح از منفی بی‌نهایت تا مثبت بی‌نهایت است(بدون هیچ علامت کسر، رادیکال و بدون اعشار).

این نوع داده در rust به این صورت است

1
2
variable_name: i32 = -2147483648;
variable_name: i32 = 2147483647;

به این باید دقت کنیم که هر متغییری مقداری فضا نیاز دارد برای مثال این نوع داده که داده اصلی است به پنج صورت پیاده سازی می‌شود i8, i16, i32, i64, i128 اعداد پس از کاراکتر i نشان دهنده تعداد بیت هایی است که این نوع متغییر می‌تواند اشغال کند. مثلا i128 می‌تواند به اندازه 128 بیت فضا اشغال کند.

نوع داده عدد اعشاری

این نوع داده هم مثل نوع عدد صحیح است اما با این تفاوت که اعداد اعشاری را درون خودش ذخیره می‌کند

1
2
variable_name: f32 = 3.14;
variable_name: f32 = -3.14;

نوع داده کاراکتر

کاراکتر نوع داده‌ای است که فقط یک مقدار از حروف الفبا یا عدد و یا سیمبول را می‌تواند درون خودش ذخیره کند. پس باید به اندازه 8 بیت فضا اشغال کند اما به دلیل اینکه کاراکتر های زبان های دیگر را هم بتواند ذخیره کند از انکدینگ(encoding) utf-16 استفاده می‌کند که 16 بیت فضا اشغال می‌کند.

1
let a: char = 'a';

داده string(رشته‌ای از کاراکتر ها)

String نوع داده‌ای است که درواقع رشته‌ای از کاراکتر ها را درون یک نوع vector ذخیره می‌کند.

این نکته را هم بگم که encoding رشته UTF-8 است. به این معنی که هر نوع کاراکتری را می‌تواند داخل خودش ذخیره کند حتی ایموجی.

1
let heart: String = String::from("♥");

نوع داده منطقی

نوع داده منطقی به اسم boolian است. این نوع مقدار هایt true و یا false را ذخیره می‌کند.

1
let is_good: bool = true;

نوع داده ترکیبی

این نوع داده ها را توی پست های مجزا توضیح می‌دم.

  • tuple
  • array
  • list
  • vector
comments powered by Disqus
قدرت گرفته از Hugo
قالب Stack ساخته شده توسط Jimmy