e
sv

Rust'ta ilkel veri türlerini anlama

avatar

Yazılım Method

  • e 0

    Mutlu

  • e 0

    Eğlenmiş

  • e 0

    Şaşırmış

  • e 0

    Kızgın

  • e 0

    Üzgün

Rust, ilkel olduğu söylenen veri türlerinin bir listesine sahiptir. Bu makalede, Rust'taki – skaler ve bileşik türler olarak gruplandıracağımız – bu ilkel veri türleri listesini ve Rust'taki ilkel veri türlerinin sınırlamalarını inceleyeceğiz.

Şunları ele alacağız:

Bu makale, Rust'a yeni başlayan ve Rust'taki ilkel veri türlerini hızlı bir şekilde anlamak ve kullanabilmek isteyenler için hazırlanmıştır.

İlkel veri türleri nelerdir?

İlkel veri türleri, adından da anlaşılacağı gibi, temelde yalnızca bir programlama diliyle gelen veri türleridir. Bunlar yerleşiktir ve bir araya getirildiklerinde ilkel olmayan veri türleri olarak adlandırılan daha karmaşık veri türleri oluşturabilirler.

Bahsettiğimiz gibi, Rust programlama dili, geliştiricilerin diğer veri türleri için yapı taşları olarak kullanabilecekleri yerleşik ilkel veri türlerinin bir listesiyle birlikte gelir.

Rust programlama dilinin gözden geçirilmesi

Rust kendisini son derece hızlı çalışan, tüm çökmeleri önleyen ve veri yarışlarını ortadan kaldıran bir sistem programlama dili olarak tanımlıyor. Çalışma zamanı veya çöp toplayıcısı olmadığı için bellek verimliliğinde iyidir. Bu ve diğer birçok nedenden dolayıRust, popüler ve sevilen bir programlama dilidir .

Şu anda, bu programlama dili ve topluluğu nispeten genç. Bu, çeşitli özellikleri, yöntemleri ve özellik uygulamalarını eklemek, iyileştirmek ve stabilize etmek için devam eden gelişmeler olduğu anlamına gelir.

Rust'ı basit bir komut satırı arayüzü (CLI) , WebAssembly (Wasm) , Networking ve Embedded ile rahatlıkla kullanabilirsiniz.

İnsanlar çoğunlukla Rust'ın öğrenmeye değer olup olmadığı veya dik bir öğrenme eğrisi olup olmadığı hakkında konuşmayı severler. Ancak nihayetinde, kişisel ihtiyaçlarınız için öğrenmeye değer olup olmadığına karar vermek her bireye kalmıştır.

Elbette, Rust'ı diğerlerinden ayıran kesinlikle dikkat edilmesi gereken şeyler var:

  • İyi tasarlanmış bir dildir
  • Diğer dillere göre doğruluk ve güvenliğe önem verir.
  • İyi bir eşzamanlılık ve hıza sahiptir
  • Çok güçlü bir topluluğa sahip

Rust, Graydon Hoare tarafından tasarlandı ve ilk kez 7 Temmuz 2010'da ortaya çıktı. Bu makalenin yayınlandığı tarih itibariyle, bu programlama dili şu anda 11 Ağustos 2022'de duyurulan 1.63.0 sürümündedir .

Rust'ta ilkel veri türleri

Rust'ın sağladığı ilkel veri türlerine bakalım.

Bunları önce skaler ve bileşik veri türleri olarak gruplandırmak istiyoruz. Bu ikisi arasındaki fark, bileşik türlerin bir türde birden çok değer içermesi, skaler türlerin ise yalnızca bir değer içermesidir.

Rust'ta skaler ilkel türler

Rust'ta aşina olmanız gereken beş skaler ilkel tür vardır:

Her tür için tanımlara ve örneklere bakalım.

bool veri türü

Boolean veri türünün doğru veya yanlış olduğu söylenir, şöyle:

 izin ver aktif = doğru;
izin etkin değil = yanlış;

Boolean veri türleri çoğunlukla değerleri veya mantığı karşılaştırmak için kullanılır; örneğin, bir test puanının A, B veya C olup olmadığını kontrol etmek için.

char veri türü

Karakter türü, 4 baytlık bir veri türüdür. Aşağıdakiler gibi tek karakterleri saklamak için kullanılır:

 önce = 'a';
saniye = 'b';
let sembolü = '∞';

Karakter veri türleri, tek karakterleri depolamak için kullanılır, bu da Rust'taki bellek tahsisinin küçük kalmasına izin verir.

integer veri türü

İşaretli (i) ve işaretsiz (u) olmak üzere iki kategoriye giren çeşitli tamsayı veri türleri vardır. Bunlar şunları içerir: i8 , i16 , i32 , i64 , isize , u8 , u16 , u32 , u64 , usize . İşte bazı örnekler:

 yükseklik = 172 olsun; //u8
ağırlık = 68 olsun; // u8 
boyut = 23 olsun; // u8
veriye izin ver = -128 // i8

floating veri türü

Kayan veri türleri her zaman ya f32 ya da f64 ve bunlar negatiften pozitif sayılara kadar geniş bir aralıkta olabilir:

 f32 ---> -3.8x10^8 ila +3.8x10^8
f64 ---> -1.8x10^308 - +1.8x10^308 

Şamandıralar, ondalık sayılar olarak adlandırdığımız şeydir. Aşağıdaki bazı örneklere bakın:

 faiz = 1.20 olsun;
dönelim = 2.80;
ajans = 10.0 olsun;

unit veri türü

Rust'ta birim veri türü () sembolünü kullanır ve çoğunlukla null kullanmaktan kaçınmak için bir mekanizma olarak kullanılır.

Hiçbir şey döndürmeyen herhangi bir ifade aslında Rust'ta () döndürür. Daha çok C benzeri dillerde void gibidir.

Başka bir kullanım örneği, Response<(), String> gibidir; bu, yanıtın başarısız olabileceği veya başarılı olabileceği anlamına gelir.

Rust'ta bileşik ilkel türler

Aşağıda, Rust'ta aşağıda ele alacağımız dört bileşik ilkel veri türü bulunmaktadır:

Önceki bölümde yaptığımız gibi, her tür için tanımlara ve örneklere bakalım.

array veri türü

Dizi, bir grup öğe içeren bir veri türüdür. Boyutu her zaman sabittir ve aşağıdaki gibi aynı veri türündedir:

 sayalım: [i32; 7] = [4, 2, 4, 8, 3, 2, 4, 8];
not ver: [i32; 4] = [20, 40, 34, 70];

Yukarıdaki örneklerde, counts dizisi i32 veri türünden (tamsayılar) 7 öğe içerirken, grade dizisi i32 veri türünden 4 öğe içerir.

string veri türü

Rust'ta iki string veri türü vardır: String (String Object) ve &str (String değişmezi).

String nesnesi çekirdek dilde değildir, ancak standart kitaplıkta sağlanır. Aynı zamanda değişken olduğu için en yaygın dize türüdür. Bir String oluşturmak için:

 Dize::yeni();


isim = String::new();
name.push_str = 'Victor Jonah';
println("{}", isim);

&str veri türü, dize dilimi olarak kabul edilir ve değişmez olduğu söylenir, bu da programın ömrü boyunca değiştirilemeyecekleri anlamına gelir. Aşağıdaki örneğe bir göz atın:

 isim ver:&str = 'Victor Jonah';
şirkete izin ver:&str = 'LogRocket';

Yukarıdaki örnekte, bu programın ömrü boyunca, name her zaman Victor Jonah dizesiyle ilişkilendirilecek, company ise her zaman LogRocket dizesiyle ilişkilendirilecektir.

slice veri türü

Dilimler dizilere benzer, ancak birkaç fark vardır.

Dizi boyutları sabitken dilimlerin boyutu dinamiktir; uzunluk derleme zamanında bilinmiyor ve veriler yeni bir koleksiyona dilimleniyor. Aşağıdaki bir örneğe bakın:

 notlar olsun: [132:6] = [20, 10, 30, 40, 50, 10, 20];
let dilim = &[20...4]; // 20, 10, 30, 40

Dilimler ayrıca, dize değerindeki belirli bir karakteri alabileceğimiz yukarıdaki dize nesnesine yönelik bir işaretçidir. Başka bir yerde kullanmak için bir dilimdeki öğeleri de ödünç alabiliriz.

tuple veri türü

JavaScript gibi diğer dillerde, demetlere nesne denir. Yalnızca aynı tür öğeleri içerebilen dizilerin aksine, farklı türde öğeler içeren sabit veri türleridir.

 let çalışan: (&str, i32, &str) = ('Victor Jonah', 25, 'Teknik Yazar');

Yukarıdaki örnekte, grup employee üç öğe içerir: bir dize ( Victor Jonah ), bir tamsayı ( 25 ) ve başka bir dize ( Technical Writer ).

Rust'ın sınırlamaları ve ilkel türleri

Bir yan not olarak, genel olarak Rust programlama dilinin sınırlamalarını tartışmak esas olacaktır. Çoğu insan Rust'ın çok sevimli olduğunu söyledi veya iddia etti – ki bu doğru – ancak dikkate alınması gereken birkaç nokta var.

Unutulmaması gereken ilk şey, öğrenme eğrisinin dik olmasıdır; Rust bir sistem programlama dili olduğu ve üst düzey programlama kavramlarına sahip olduğu için dil olarak öğrenmesi daha fazla zaman alır.

Rust ilkel veri türleri ve bunları bir araya getirme konusunda öğrenilecek çok şey var — örneğin, desen eşleştirme, işaretçiler, dize değişmezleri, üç tür dizi ve daha fazlası. Yine de, zaman ayırmaya değer.

Gözlemlerime göre, dik öğrenme eğrisi çoğunlukla Rust ile çalışmanın ilk günlerinde Rust belgelerindeki netlik eksikliğinden kaynaklanmaktadır.

Bu beni ikinci bir nota getiriyor: Rust topluluğu en başta daha az fark edilebilir olabilir, ancak ulaştığınız zaman topluluk misafirperver, aktif ve yardımseverdir.

Unutulmaması gereken başka bir şey de, Rust'ın statik bir programlama dili olduğu ve derlenmeden önce her şeyin belirtilmesi gerektiği noktasında çok katı olmasıdır. Bu, her şeyin derleme zamanında kontrol edilmesini zorunlu kılan Rust'ın ana ilkelerinden biridir.

Bu, geliştirmeyi yavaşlatabilir, ancak aynı zamanda iyi bir neden içindir, çünkü çoğu şey derleme zamanında kontrol edildiğinde, programın çalışma zamanında başarısız olması daha az olasıdır.

Çözüm

Rust ilkel veri türleri yerleşiktir ve kullanım durumları tam olarak tipik bir programlama dilinin ihtiyaç duyduğu şeydir. Bu veri türleri iki biçimde gelir: skaler ve bileşik.

Rust'taki tüm farklı ilkel veri türlerini bilmek ve anlamak, Rust yolculuğunuzda çok yardımcı olur. Bu makaleyi kısaca bu amaçla hazırladım. Okuduğunuz için teşekkürler.

Rust'taki ilkel veri türlerini anlama yazısı ilk olarak LogRocket Blog'da göründü.

etiketlerETİKETLER
Üzgünüm, bu içerik için hiç etiket bulunmuyor.

Sıradaki içerik:

Rust'ta ilkel veri türlerini anlama