3
在scala中,我們可以讓類型成員聲明type T
。我們可以傳遞類型作爲方法參數嗎?我試過這個:我們可以將類型作爲參數傳遞給方法嗎?
def test(type T)
def test(T: type)
但他們都沒有編譯。那麼,有可能嗎?
在scala中,我們可以讓類型成員聲明type T
。我們可以傳遞類型作爲方法參數嗎?我試過這個:我們可以將類型作爲參數傳遞給方法嗎?
def test(type T)
def test(T: type)
但他們都沒有編譯。那麼,有可能嗎?
不,不可能將類型作爲值傳遞給標準Scala中的函數。
此外,還有幾件事情錯了你的推薦碼:
首先你不能定義與type
關鍵字函數參數。這用於聲明類型同義詞而不是函數參數的類型。
您甚至不能將類型作爲值傳遞給Scala中的函數。在這裏,你正在一個程序中混合一種類型的數據,另一種是你的程序中的數值。 Scala函數接受值作爲函數的參數(如果該函數被定義爲接受參數)而不是類型。
'def test [T]()'有什麼問題嗎? –
@ n.m。但我們實際上有一個沒有參數和一個泛型類型參數的方法... – stella
注意它們被稱爲「類型參數」。如果您正在尋找某種類型的值表示,那麼您正在討論運行時反射,例如, 'def f [A](a:A)(隱式標籤:scala.reflect.runtime.universe#TypeTag [A]):A'。 –