如果我写这样的东西(根据docs定义Slick表):
type UserIdentity = (String, String)
class UserIdentity(tag: Tag){
...
}
我收到编译错误:“期望的类或对象定义”指向type
声明。为什么呢?
答案 0 :(得分:17)
您无法在类,特征或对象定义之外定义类型别名。
如果您想在包级别提供类型别名(因此您不必明确导入它),最简单的方法是定义package object,其名称与package并允许您定义其中的任何内容,包括类型别名。
因此,如果您有一个foo.bar
包,并且希望添加类型别名,请执行以下操作:
package foo
package object bar {
type UserIdentity = (String, String)
}
//in another file
package foo.bar
val x: UserIdentity = ...