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