我想要定義一個通用的方法,它的參數和返回類型。基本上爲JSON序列化/從case類創建一個輔助函數。如何推斷類型當一個是返回值?
所以我想寫這樣的僞代碼:
def post[Request,Response](data:Request) : Response = ???
case class A(i:String)
case class B(j:Int)
val result = post[A,B]("input")
在這種情況下(假設沒有錯誤)結果是B型的
這是可以理解的是,編譯器不能推斷返回值,但我想它推斷請求類型。換句話說,我想寫點東西像
val result = post[B]("input")
其中A的類型由數據推斷參數,所以調用函數時,用戶只需要指定返回類型。
我希望有一個不那麼複雜的答案。在這一點上,我認爲只提供這兩種類型參數會更容易。 – shawnT