我知道Kotlin沒有靜態函數,所以我在OkHttpService.kt和my.kt中寫了兩個代碼。我不知道哪個更好,你能告訴我嗎?謝謝!伴侶對象和Kotlin中沒有課程的樂趣之間哪種方式更好?
OkHttpService.kt
class OkHttpService {
companion object {
fun httpGet(username: String, callback: Callback) {
val fetchRepoUrl = "https://api.github.com/users/$username/repos?page=1&per_page=20"
val client = OkHttpClient()
val request = Request.Builder()
.url(fetchRepoUrl)
.build()
client.newCall(request).enqueue(callback)
}
}
}
my.kt
fun OkHttpService_httpGet(username: String, callback: Callback) {
val fetchRepoUrl = "https://api.github.com/users/$username/repos?page=1&per_page=20"
val client = OkHttpClient()
val request = Request.Builder()
.url(fetchRepoUrl)
.build()
client.newCall(request).enqueue(callback)
個人喜好。你寧願有一個類似的命名空間(OkHttpService)還是隻有通常的命名空間?對於後者,你沒有這樣明確的選項:'OkHttpService.httpGet()'。 –
謝謝!哪個比較好扔掉好玩的名字? – HelloCW
對不起,我不明白。就個人而言,我喜歡類似於類的命名空間中的所有內容,因爲它使我可以選擇使用它或靜態導入它。但是在某些情況下頂層函數很方便(例如,當從kts/repl調用時)。 –