Pertanyaan Lingkup pengubah jarak pandang internal di Kotlin


Saya memiliki masalah dalam memahami pengubah akses internal. Dalam contoh saya, saya tidak dapat menghasilkan situasi di mana ia berperilaku berbeda dari publik. Bahkan jika saya membuat guci saya dapat mengakses fungsi internal di dalam botol dari luar botol (dari paket berbeda yang tidak terkait dengan yang digunakan dalam botol). Dalam dokumentasi, modul istilah digunakan tetapi saya tidak dapat menemukan apa sebenarnya modul itu.

Pertanyaan saya adalah:

  1. apa itu modul di kotlin?

  2. bagaimana pengubah akses internal berbeda dari modiefier publik?


13
2017-09-12 17:03


asal


Jawaban:


Versi kompilasi Kotlin M8 (0.8.11) mengabaikan modul, lebih tepatnya, ia bekerja seolah-olah semua kode Anda dimasukkan ke dalam modul yang sama, inilah mengapa Anda tidak bisa mendapatkan kesalahan visibilitas untuk internal.

Dimulai dengan rilis tonggak berikutnya, setiap modul IDE yang Anda buat memiliki cakupan visibilitas sendiri, dan ketika Anda mencoba mengakses internal deklarasi dari satu modul di modul lain, Anda mendapatkan kesalahan. Publik, di sisi lain, terlihat di seluruh proyek.

MEMPERBARUI: Ini belum dinyalakan di M8, ditunda untuk nanti

MEMPERBARUI: Ini telah dihidupkan sejak tonggak Kotlin kemudian dan beta


6
2017-09-13 08:12