在Dart中,可以通过在类名或函数名后面使用尖括号来定义泛型。例如,定义一个泛型类:
class Box<T> {
T value;
Box(this.value);
}
在上面的例子中,Box
类是一个泛型类,它接受一个类型参数 T
,并且有一个 value
属性来保存这个类型的值。
使用泛型类时,可以指定具体的类型参数,例如:
var box = Box<int>(10);
print(box.value); // 输出:10
在上面的例子中,我们实例化了一个 Box
类,并指定类型参数为 int
,然后将一个整数值 10 传入构造函数。
除了类,函数也可以是泛型的。例如,定义一个泛型函数:
T first<T>(List<T> list) {
return list.first;
}
void main() {
List<int> numbers = [1, 2, 3, 4, 5];
int firstNumber = first(numbers);
print(firstNumber); // 输出:1
}
在上面的例子中,first
函数接受一个类型参数 T
,并且接受一个泛型列表作为参数,返回列表的第一个元素。在 main
函数中,我们调用 first
函数并传入一个整数类型的列表,得到列表的第一个元素。
免责声明:本站发布的内容(图片、视频和文字)以原创、转载和分享为主,文章观点不代表本网站立场,如果涉及侵权请联系站长邮箱:is@yisu.com进行举报,并提供相关证据,一经查实,将立刻删除涉嫌侵权内容。