阅读量:6
在Dart中,泛型可以让我们在编写函数或类时指定一种或多种类型,从而提高代码的复用性和类型安全性。泛型可以应用在函数、类、接口等各种场景中。
在函数中使用泛型:
T getValue<T>(T value) { return value; } void main() { String stringValue = getValue<String>("Hello"); int intValue = getValue<int>(10); }
在类中使用泛型:
class Box<T> { T value; Box(this.value); } void main() { Box<String> box1 = Box<String>("Hello"); Box<int> box2 = Box<int>(10); }
在接口中使用泛型:
abstract class Cache<T> { T get(String key); void set(String key, T value); } class MemoryCache<T> implements Cache<T> { Map<String, T> _cache = {}; @override T get(String key) { return _cache[key]; } @override void set(String key, T value) { _cache[key] = value; } } void main() { Cache<String> cache = MemoryCache<String>(); cache.set("key", "value"); print(cache.get("key")); }
通过泛型,我们可以在编写代码时指定类型,从而确保代码的类型安全性,并可以更好地重用代码。