何时在Scala中使用类型参数?

时间:2015-01-31 18:17:33

标签: scala types

涉及类型参数的函数是否限制用于集合? 如追加,删除和排序泛型类型列表?

我发现我很少遇到类型参数的用例,但同时觉得我可能会遗漏某些东西?

此代码:

object customType {

  class MyClass[A] = {

    def doFun(a : A) = {

    }

  }

}

方法doFun实际上无法对类型A执行任何操作(除了List操作) 因为它的类型是未打印的/未知的?

类型参数似乎非常强大,但我想扩展它们的用途,而不仅仅是键入检查 集合在编译时包含正确的类型。是否有其他常见的示例/模式显示使用 类型参数?

1 个答案:

答案 0 :(得分:0)

简短的回答是,如果您是应用程序员,它可能对您没有用。更常见的是,您最终将使用已使用类型参数的库。它们对于解决一般的编码模式(因此是泛型)非常有用,因此它们常常出现在库代码中,而编写者不知道最终用户需要什么。

话虽这么说,您可能想要阅读type classes,因为它们可以成为解决某些依赖性问题的好方法,即使在应用程序级编码也是如此。而且,最后......类型最方便的模式是...... duh duh duh ... monad pattern :),这并不像它那样可怕。