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