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)