> For the complete documentation index, see [llms.txt](https://dart.bayramalacam.com/llms.txt). Markdown versions of documentation pages are available by appending `.md` to page URLs; this page is available as [Markdown](https://dart.bayramalacam.com/turler-types/veri-turu-tanimlama-typedef.md).

# Veri Türü Tanımlama (Typedef)

Dart dilinde, bir türü daha kısa bir şekilde ifade etmek için kullanılan tip takma adı, genellikle "typedef" olarak adlandırılır ve `typedef` anahtar kelimesi ile tanımlanır. İşte `IntList` adlı bir tip takma adını tanımlayarak kullanma örneği:

```dart
typedef IntList = List<int>;
IntList il = [1, 2, 3];
```

Bir tip takma adı, tür parametrelerine sahip olabilir:

```dart
typedef ListMapper<X> = Map<X, List<X>>;
Map<String, List<String>> m1 = {}; // Ayrıntılı hali.
ListMapper<String> m2 = {}; // Aynı şey ancak daha kısa ve anlaşılır.
```

Çoğu durumda, işlevler için inline işlev tiplerini kullanmanızı öneririz. Ancak, işlev `typedef`'leri hala kullanışlı olabilir:

```dart
typedef Compare<T> = int Function(T a, T b);

int sort(int a, int b) => a - b;

void main() {
  assert(sort is Compare<int>); // Doğru!
}
```

Bu örnekte, `Compare` adlı bir işlev tip takma adı tanımlanmış ve ardından bir sıralama işlevi bu tipte bir işlev olarak kullanılmıştır. Dart dilindeki tip takma adlarının kullanımı, kodu daha okunabilir hale getirir ve türleri daha kısa bir şekilde ifade etmemize olanak tanır.
