函数也可以有泛型参数,类型参数放置在函数名之前。
fun <T> singletonList(item: T): List<T> { // ... }
扩展函数
fun <T> T.basicToString() : String { // extension function // ... }
调用泛型函数,需要在函数名之后指定类型参数。
val l = singletonList<Int>(1)