在 Kotlin 中,全局函數(shù)是在整個(gè)應(yīng)用程序范圍內(nèi)可用的函數(shù)。它們位于一個(gè)特殊的命名空間中,即 KOTLIN_GLOBAL
。全局函數(shù)可以在任何地方調(diào)用,而無需導(dǎo)入或指定包名。
要在 Kotlin 中定義全局函數(shù),請使用 expect
和 actual
關(guān)鍵字。expect
用于聲明一個(gè)在 Java 或 JavaScript 等其他語言中已有的函數(shù)原型,而 actual
用于實(shí)現(xiàn)這個(gè)函數(shù)原型。這里有一個(gè)簡單的例子:
// 聲明一個(gè)全局函數(shù) expect fun printHello(name: String)
expect fun printHello(name: String) {
println("Hello, $name!")
}
// 實(shí)現(xiàn)一個(gè)全局函數(shù) actual fun printHello(name: String)
actual fun printHello(name: String) {
println("Hello, $name!")
}
fun main() {
// 在任何地方調(diào)用全局函數(shù)
printHello("Kotlin")
}
在這個(gè)例子中,我們聲明了一個(gè)名為 printHello
的全局函數(shù),它接受一個(gè) String
參數(shù)。然后我們實(shí)現(xiàn)了這個(gè)函數(shù),以便在不同的平臺上使用。在 main
函數(shù)中,我們可以直接調(diào)用 printHello
函數(shù),而無需導(dǎo)入任何包。