Peraturan storan global/tempatan
Wave dengan jelas membezakan antara storan dan kebolehubahan pada peringkat kata kunci.
ringkasan
- Pemalar global:
const - Pembolehubah yang disimpan secara global:
static - Pembolehubah setempat:
var,let,let mut
Dalam erti kata lain, hanya const dan static diisytiharkan pada peringkat atas,
Hanya siri var dan let diisytiharkan dalam fungsi/bahagian dalam kawasan.
Pemalar global: const
const dianggap sebagai pemalar masa kompilasi dan tidak boleh ditugaskan semula.
const PAGE_SIZE: i32 = 4096;
const MAGIC: i32 = 0x1BADB002;
Pembolehubah yang disimpan secara global: static
static ialah pembolehubah dengan ruang storan global.
Ia boleh ditugaskan semula dan jika tiada nilai awal diberikan, ia akan dimulakan kepada nilai 0 jenis.
static COUNTER: i32 = 0;
static VGA_BUFFER: ptr<char> = 0xb8000 as ptr<char>;
Pembolehubah setempat: var / let
Di dalam fungsi atau blok, hanya kata kunci pembolehubah tempatan digunakan.
fun main() -> i32 {
var x: i32 = 10;
let y: i32 = 20;
let mut z: i32 = 30;
x = x + 1;
z = z + 1;
return x + y + z;
}
Kekangan
var,lettidak boleh digunakan di peringkat atas.const,statictidak boleh digunakan di dalam fungsi/blok.lettidak boleh diubah dan tidak boleh ditugaskan semula.
