Durasi penyimpanan dan mutabilitas

Bedakan antara cakupan dan kemampuan menulis var, const dan static.

Wave Foundation

Arti setiap deklarasi

memformat Lokasi yang Diizinkan penugasan ulang Gunakan
var Fungsi/blok mungkin Variabel lokal umum yang bisa berubah
const atas Tidak mungkin Deklarasi konstanta global
static atas mungkin Deklarasi tersimpan statis yang ada selama masa program
const PAGE_SIZE: i32 = 4096;
static request_count: i64 = 0;

fun main() {
    var limit: i32 = 4;
    var current: i32 = 0;
    var retries: i32 = 0;

    current += 1;
    retries += 1;
    println("{} {} {}", limit, current, retries);
}

Aturan deklarasi lokal

var value: i32 = 1;
value = 2;

Nilai baru dapat ditetapkan ke variabel lokal yang dideklarasikan sebagai var. Konstanta yang akan digunakan sepanjang program dideklarasikan di tingkat atas sebagai const.

Penggunaan lokal const dan static

const dan static adalah deklarasi tingkat atas. Badan fungsi dan inisialisasi for menggunakan deklarasi lokal var.

Umur dan Pointer

Anda bisa mendapatkan alamat variabel lokal sebagai &, tetapi tipe ptr<T> tidak melacak masa penyimpanan sebenarnya yang ditunjukkan oleh penunjuk. Saat meneruskan alamat penyimpanan lokal dari suatu fungsi, struktur program harus secara langsung memastikan bahwa alamat tersebut tetap valid.

Rentang Pembelajaran dan Contoh

Berlatihlah dengan program penuh · Perpustakaan standar