语法

// <T> 表示函数参数的类型是不确定的;arg: T 的 T 代表把这个参数 T 传进函数
function identity<T>(arg: T): T { // 最后 : T 代表你传入什么类型我最后就返回什么类型
    return arg;
}

使用泛型变量

function loggingIdentity<T>(arg: T[]): T[] {
    console.log(arg.length);  // Array has a .length, so no more error
    return arg;
}