Menggunakan anotasi
Anotasikan kod
Menggunakan anotasi ialah pelajaran Kotlin Academy percuma di CoddyKit. Ini ialah pelajaran 1 daripada 4. Sebanyak 3 pelajaran dalam laluan pembelajaran ini boleh dibaca sepenuhnya secara percuma — selepas itu, CoddyKit PRO membuka akses kepada semua pelajaran, serta latihan praktikal dengan penyunting kod terbina dalam dan tutor kecerdasan buatan yang tersedia 24/7. Pelajaran ini merupakan sebahagian daripada laluan pembelajaran Kotlin Academy, dan kemajuan anda disegerakkan merentas web serta aplikasi CoddyKit. Kursus Kotlin Academy merangkumi sejumlah 4 pelajaran.
Apakah Anotasi
Anotasi melampirkan metadata pada kod. Anotasi tidak mengubah tingkah laku dengan sendirinya, tetapi alat, pengompil dan pustaka membacanya untuk membuat keputusan.
Anda menulis anotasi dengan @ diikuti namanya, dan meletakkannya betul-betul sebelum elemen yang dikenainya.
Anotasi Pertama
Pustaka standard menyediakan beberapa anotasi yang berguna. @Deprecated menandakan kod yang tidak lagi patut digunakan dan memaparkan amaran pada tapak panggilan.
@Deprecated("Use newGreet() instead")
fun greet() = "Hi"
fun newGreet() = "Hello"
fun main() {
println(newGreet())
}Anotasi dengan Argumen
Anotasi boleh menerima argumen yang ditulis seperti parameter pembina. @Deprecated menerima mesej dan petunjuk ReplaceWith secara pilihan.
@Deprecated(
message = "Renamed for clarity",
replaceWith = ReplaceWith("sum(a, b)")
)
fun add(a: Int, b: Int) = a + b
fun sum(a: Int, b: Int) = a + b
fun main() {
println(sum(2, 3))
}Menyenyapkan Amaran
@Suppress memberitahu pengompil supaya menyenyapkan amaran tertentu untuk elemen yang dianotasi. Anda menghantar nama amaran sebagai rentetan.
@Suppress("UNUSED_VARIABLE")
fun main() {
val unused = 42
println("Runs without the unused-variable warning")
}JvmStatic dan Anotasi Berkaitan
Sesetengah anotasi mempengaruhi cara Kotlin dikompilkan kepada JVM. @JvmStatic, @JvmField dan @JvmName mengawal bait kod supaya pemanggil Java melihat API yang lebih mudah digunakan.
Anotasi ini tidak memberi kesan kepada kod Kotlin tulen, tetapi penting untuk kesalingoperasian.
class Math {
companion object {
@JvmStatic
fun square(x: Int) = x * x
}
}
fun main() {
println(Math.square(5))
}Sasaran Penggunaan Anotasi
Satu sifat boleh menjana beberapa elemen JVM: medan, pengambil, penetap dan parameter pembina. Sasaran penggunaan menentukan tempat anotasi harus diletakkan.
Sintaks: @get:, @set:, @field:, @param:.
class User(@get:JvmName("fetchName") val name: String)
fun main() {
val u = User("Ada")
println(u.name)
}Anotasi @Throws untuk Kesalingoperasian Java
Kotlin tidak mempunyai pengecualian yang disemak, jadi pemanggil Java tidak akan melihat klausa throws melainkan anda menambah @Throws. Anotasi ini merekodkan jenis pengecualian ke dalam tandatangan bait kod.
import java.io.IOException
@Throws(IOException::class)
fun readData(): String {
return "data"
}
fun main() {
println(readData())
}Anotasi Berganda
Anda boleh menyusun beberapa anotasi pada satu elemen. Setiap anotasi diletakkan pada barisnya sendiri atau dipisahkan dengan ruang. Susunan tidak penting.
@Deprecated("old")
@Suppress("DEPRECATION")
fun legacy() = "still here"
fun main() {
println(legacy())
}Anotasi pada Ungkapan
Anotasi juga boleh digunakan pada ungkapan dan pengisytiharan setempat, bukan hanya fungsi atau kelas peringkat atas. Hal ini biasa dilakukan dengan @Suppress di dalam badan fungsi.
fun main() {
@Suppress("UNUSED_VARIABLE")
val temp = computeOnce()
println("Done")
}
fun computeOnce() = 99OptIn dan API Eksperimen
Pustaka menandakan API yang tidak stabil dengan anotasi memilih masuk tersuai. Untuk menggunakannya, anda mengakui risikonya dengan @OptIn(SomeApi::class) atau menyebarkan anotasi tersebut.
Dengan cara ini, ciri eksperimen dinyatakan secara jelas dan bukannya digunakan secara tidak sengaja.
fun main() {
// @OptIn would appear here when calling an experimental function
println("Opt-in keeps unstable APIs visible")
}Mengapa Menggunakan Anotasi
Anotasi membolehkan anda menyampaikan niat kepada alat: pengkompil memberikan amaran untuk panggilan yang tidak digunakan lagi, pustaka pensirian memetakan medan, rangka kerja ujian mencari kaedah ujian dan rangka kerja DI menyambungkan kebergantungan.
- Metadata, bukan logik
- Dibaca semasa kompilasi atau masa jalan
- Mengekalkan konfigurasi berdekatan dengan kod
Semakan Pantas
Uji pemahaman anda tentang penggunaan anotasi.
Ringkasan
Anda telah mempelajari cara menggunakan anotasi terbina dalam:
@Deprecated,@Suppress,@Throws- Kesalingoperasian JVM:
@JvmStatic,@JvmName - Sasaran penggunaan seperti
@get:dan@field: - Memilih masuk untuk API eksperimen
Seterusnya, anda akan mentakrifkan anotasi sendiri.
Pelajari Kotlin dengan tutor kecerdasan buatan — percuma
Tulis dan jalankan kod sebenar dalam pelayar anda, dapatkan bantuan segera daripada tutor kecerdasan buatan yang tersedia 24/7, dan sambung semula dari tempat anda berhenti di web atau dalam aplikasi.
- Kursus
- 51
- Pelajaran
- 203
Soalan Lazim
Adakah pelajaran “Menggunakan anotasi” percuma?
Ya — sebanyak 3 pelajaran dalam laluan pembelajaran Kotlin Academy, termasuk “Menggunakan anotasi”, boleh dibaca sepenuhnya secara percuma di web ini. Selepas itu, CoddyKit PRO membuka akses kepada semua pelajaran, serta latihan interaktif dengan penyunting kod terbina dalam dan tutor kecerdasan buatan yang tersedia 24/7. Kursus Kotlin Academy merangkumi sejumlah 4 pelajaran.
Apakah yang akan saya pelajari dalam “Menggunakan anotasi”?
Anotasikan kod Anda berlatih Kotlin Academy menggunakan kod praktikal yang dijalankan terus dalam pelayar, manakala tutor kecerdasan buatan 24/7 menjawab soalan anda semasa anda mengikuti pelajaran.
Adakah saya memerlukan pengalaman untuk memulakan Kotlin Academy?
Tiada pengalaman terdahulu diperlukan. Pembelajaran Kotlin Academy di CoddyKit disusun untuk pelajar daripada peringkat pemula hingga lanjutan, jadi anda boleh bermula di sini atau dari awal dan belajar mengikut kadar anda sendiri. Ini ialah pelajaran 1 daripada 4.
Berapa lamakah pelajaran “Menggunakan anotasi” diambil?
Kebanyakan pelajaran CoddyKit mengambil masa kira-kira 5–10 minit. Setiap pelajaran ringkas dan interaktif, jadi anda boleh membuat kemajuan secara berterusan dan menyambung tepat dari tempat anda berhenti di web atau aplikasi.
Bolehkah saya menulis dan menjalankan kod dalam pelajaran Kotlin Academy ini?
Ya. Setiap pelajaran Kotlin Academy menyertakan penyunting kod terbina dalam, jadi anda boleh menulis dan menjalankan kod sebenar terus dalam pelayar serta menerima maklum balas kecerdasan buatan serta-merta — tanpa memerlukan persediaan setempat.
Semua pelajaran dalam kursus ini
- Menggunakan anotasi
- Mentakrifkan anotasi
- Asas pantulan
- Pantulan praktikal