} -->
Dart adalah bahasa pemrograman yang statically typed artinya tipe data diperiksa saat kompilasi. Namun, Dart juga mendukung type inference (penyimpulan tipe) dan null safety untuk keamanan.
int umur = 25;
double harga = 9.99;
num nilai = 42; // Bisa int atau double
String nama = 'Budi';
String salam = "Halo, $nama!"; // Interpolasi
String multiBaris = '''
Ini adalah
teks multi-baris.
''';
String multiLine2 = "Hello $name\nMy name is Ubay";
bool isAktif = true;
bool isLogin = false;
List<int> angka = [1, 2, 3, 4, 5];
List<String> nama = ['Alice', 'Bob', 'Charlie'];
angka.add(6); // Menambahkan elemen baru
angka.addAll([7, 8, 9]); // Menambahkan beberapa elemen baru
Set<int> angka = {1, 2, 3, 4, 5};
Set<String> nama = {'Alice', 'Bob', 'Charlie'};
angka.add(6); // Menambahkan elemen baru
angka.addAll({7, 8, 9}); // Menambahkan beberapa elemen baru
angka.remove(1); // Menghapus angka yang memiliki nilai 1
nama.addAll({'ee', 'ff'});
Map<String, dynamic> user = {"name": 'agus', 'age': 20}; // menggunakan tipe dynamic agar bisa menambah value dengan tipe apapun.
user['age'] = 25; // menambah nilai age
user['address'] = 'jakarta'; // menambah key value baru
user['family'] = {
'istri': 'ani',
'anak': ['budi', 'andre'],
};
var angka = 10;
final nama = 'Alice';
const pi = 3.14;
Object obj = 'Halo';
obj = 42;
String name = null; // Invalid (tidak bisa)
String? name2 = null; // Valid (Null Safety)
dynamic nilai = 'Halo';
int nilai2 = 2;
String str = nilai2 as String; // Konversi ke string, error jika gagal
print(str);
if (nilai is String) {
print('type dari variabel nilai adalah ' + nilai.runtimeType.toString());
} else {
print('no Ini bukan String');
}