在 Kotlin 中将函数调用分配给变量

将变量分配给函数调用实际上是调用该函数还是只是存储它(以便它可以被调用)?


例如:


val userData = GraphRequest.newMeRequest(

    accessToken,

    object : GraphRequest.GraphJSONObjectCallback {

        override fun onCompleted(`object`: JSONObject?, response: GraphResponse?) {

            Log.d(TAG, `object`.toString())

        }


    }

)

实际上打电话GraphRequest.newMeRequest()?


森林海
浏览 119回答 2
2回答

温温酱

是的,该代码首先调用GraphRequest.newMeRequest(),并将其结果分配给userData。通常,只要您在函数名称(或 lambda)后看到括号,就会调用该函数。如果你想在不调用函数的情况下引用它(例如稍后调用,或者返回或传递给另一个函数),你可以使用GraphRequest::newMeRequest. 然后,您需要在调用它时传递相关参数。更多信息在这里。

德玛西亚99

是的,这将调用该GraphRequest.newMeRequest(..)方法并userData立即将结果分配给。如果您希望稍后初始化该字段,但仅在首次访问该字段时才进行初始化,请使用惰性委托。val userData by lazy { /* call method */ }
打开App,查看更多内容
随时随地看视频慕课网APP

相关分类

Java