[英]When is beneficial to pass function type in Kotlin?
private fun createData(
index: Int,
address: () -> Address)
這是方法調用
createData(0){Address(...)}
或者我可以保持簡單,而我可以擁有
private fun createData(
index: Int,
address -> Address)
我將調用簡單的方法 createData(0,Address(...)) 我只是想知道在這種情況下使用 function 類型有什么好處嗎?
您展示的場景是 function 采用“工廠”作為參數。 如果您只打算立即調用 function 一次,那么沒有理由不直接使用 Address 參數。
但是假設創建地址是一個 CPU 密集型過程,您可能直到以后才需要它,如果有的話。 然后您可以保留 function 並僅在以后確實需要時使用它。
或者假設您想使用某種輸入參數創建一堆地址。 然后,您可能需要使用(Int) -> Address
之類的參數,並使用不同的參數多次調用它。
或者假設這個 function 需要一定數量的地址副本,而地址沒有副本 function。 然后你可以一遍又一遍地調用 function 來獲取副本。
高階函數還有許多其他用途。 我只是舉幾個工廠使用它們的例子,因為那是你問的那種例子。 但是有幾個更普遍的用途:
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.