- 函数中使用泛型:
function identity<T>(arg: T): T {return arg; }let result = identity<number>(10); // 传入number类型,返回number类型 console.log(result); // 输出: 10let value = identity<string>('Hello'); // 传入string类型,返回string类型 console.log(value); // 输出: Hello
- 接口中使用泛型:
interface Pair<T, U> {first: T;second: U; }let pair: Pair<number, string> = { first: 10, second: 'Hello' }; console.log(pair.first, pair.second); // 输出: 10 Hello
- 类中使用泛型:
class Box<T> {private value: T;constructor(value: T) {this.value = value;}getValue(): T {return this.value;} }let box = new Box<number>(10); console.log(box.getValue()); // 输出: 10let box2 = new Box<string>('Hello'); console.log(box2.getValue()); // 输出: Hello
泛型提供了一种灵活的方式来处理在定义时无法确定的数据类型,使得代码更加通用和可复用。