Pemrograman Dart - Variabel

Variabel adalah "ruang bernama dalam memori" yang menyimpan nilai. Dengan kata lain, ia bertindak sebagai wadah untuk nilai-nilai dalam sebuah program. Nama variabel disebut pengenal. Berikut adalah aturan penamaan untuk pengenal -

  • Pengenal tidak boleh menjadi kata kunci.

  • Pengenal dapat berisi huruf dan angka.

  • Pengenal tidak boleh berisi spasi dan karakter khusus, kecuali garis bawah (_) dan tanda dolar ($).

  • Nama variabel tidak boleh dimulai dengan angka.

Ketik Sintaks

Variabel harus dideklarasikan sebelum digunakan. Dart menggunakan kata kunci var untuk mencapai hal yang sama. Sintaks untuk mendeklarasikan variabel seperti yang diberikan di bawah ini -

var name = 'Smith';

Semua variabel di dart menyimpan referensi ke nilai daripada berisi nilai. Variabel bernama name berisi referensi ke objek String dengan nilai "Smith".

Mendukung Dart type-checkingdengan mengawali nama variabel dengan tipe data. Pemeriksaan jenis memastikan bahwa variabel hanya menyimpan data yang spesifik untuk suatu jenis data. Sintaks yang sama diberikan di bawah ini -

String name = 'Smith'; 
int num = 10;

Perhatikan contoh berikut -

void main() { 
   String name = 1; 
}

Cuplikan di atas akan menghasilkan peringatan karena nilai yang ditetapkan ke variabel tidak cocok dengan tipe data variabel.

Keluaran

Warning: A value of type 'String' cannot be assigned to a variable of type 'int'

Semua variabel yang tidak diinisialisasi memiliki nilai awal null. Ini karena Dart menganggap semua nilai sebagai objek. Contoh berikut menggambarkan hal yang sama -

void main() { 
   int num; 
   print(num); 
}

Keluaran

Null

Kata kunci dinamis

Variabel yang dideklarasikan tanpa tipe statis secara implisit dideklarasikan sebagai dinamis. Variabel juga dapat dideklarasikan menggunakan kata kunci dinamis sebagai pengganti kata kunci var.

Contoh berikut menggambarkan hal yang sama.

void main() { 
   dynamic x = "tom"; 
   print(x);  
}

Keluaran

tom

Final dan Const

Itu final dan constkata kunci digunakan untuk mendeklarasikan konstanta. Dart mencegah modifikasi nilai variabel yang dideklarasikan menggunakan kata kunci final atau const. Kata kunci ini dapat digunakan bersama dengan jenis data variabel atau sebagai penggantivar kata kunci.

Itu constkata kunci digunakan untuk mewakili konstanta waktu kompilasi. Variabel dideklarasikan menggunakanconst kata kunci secara implisit bersifat final.

Sintaks: Kata Kunci akhir

final variable_name

ATAU

final data_type  variable_name

Sintaks: const Kata kunci

const variable_name

ATAU

const data_type variable_name

Contoh - Kata Kunci akhir

void main() { 
   final val1 = 12; 
   print(val1); 
}

Keluaran

12

Contoh - const Kata kunci

void main() { 
   const pi = 3.14; 
   const area = pi*12*12; 
   print("The output is ${area}"); 
}

Contoh di atas mendeklarasikan dua konstanta, pi dan area, menggunakan constkata kunci. Ituarea nilai variabel adalah konstanta waktu kompilasi.

Keluaran

The output is 452.15999999999997

Note - Hanya constvariabel dapat digunakan untuk menghitung konstanta waktu kompilasi. Konstanta waktu kompilasi adalah konstanta yang nilainya akan ditentukan pada waktu kompilasi

Contoh

Dart melontarkan pengecualian jika ada upaya untuk mengubah variabel yang dideklarasikan dengan finalatau kata kunci const. Contoh yang diberikan di bawah ini menggambarkan hal yang sama -

void main() { 
   final v1 = 12; 
   const v2 = 13; 
   v2 = 12; 
}

Kode yang diberikan di atas akan menampilkan kesalahan berikut sebagai output -

Unhandled exception: 
cannot assign to final variable 'v2='.  
NoSuchMethodError: cannot assign to final variable 'v2=' 
#0  NoSuchMethodError._throwNew (dart:core-patch/errors_patch.dart:178) 
#1      main (file: Test.dart:5:3) 
#2    _startIsolate.<anonymous closure> (dart:isolate-patch/isolate_patch.dart:261) 
#3    _RawReceivePortImpl._handleMessage (dart:isolate-patch/isolate_patch.dart:148)