← Kembali ke kursus
Pelajaran kursus · Dart
Pelajaran 19

Generics

List<T>, Map<K,V>, method generics, bounded.

Pahami konsepnya

Generics memastikan type safety: List<String> hanya menerima String. Method generics: T pertama<T>(List<T> list). Bounded: T extends num membatasi ke num atau turunannya.

Coba contoh kode

T pertama<T>(List<T> list) => list.first;
double rata<T extends num>(List<T> d) => d.reduce((a, b) => a + b as T) / d.length;

void main() {
  print(pertama([1, 2, 3]));      // 1 (int)
  print(pertama(["a", "b"]));      // a (String)
}

pertama<T> menerima List<int> ATAU List<String> — T menyesuaikan tipenya. Bounded T extends num membatasi ke angka.

Latihan singkat

Uji: terbesar<T extends num>([3,8,1,9,4]) — harus `9`.