2017-03-09 35 views
6

Chỉ vài phút trước khi tôi khám phá kho dữ liệu Kotlin github, tôi đã tìm thấy một điều thú vị: Kotlin bây giờ có vẻ có một từ khóa tiêu đề.Từ khóa header/impl có nghĩa là gì trong kotlin?

CollectionsH.kt:

open header class ArrayList<E> : MutableList<E> { 

//... 

header inline fun <reified T> Array<out T>?.orEmpty(): Array<out T> 

có nghĩa là gì? Có một số tính năng công khai hoặc tính năng nội bộ để giúp phát triển stdlib không?


EDIT: Có vẻ như là từ khóa impl hoạt động cùng với tiêu đề. Cái gì thế?

+10

Từ khóa này có liên quan đến các dự án đa nền tảng, nhưng chức năng này chưa được phát hành cũng như không được công bố và hiện là tính năng nội bộ. – hotkey

+0

@hotkey bạn có biết bất kỳ ví dụ nào về tính năng đang được sử dụng không? – spierce7

+0

@ spierce7, tôi không biết bất kỳ việc sử dụng nào ngoài dự án Kotlin. – hotkey

Trả lời

5

CẬP NHẬT 2:

Hỗ trợ dự án đa nền tảng đã được phát hành.

UPDATE 1:

Các implheader từ khóa đã được thay thế bởi actualexpect trong phiên bản xem trước của các dự án đa nền cho Kotlin.

Các tài liệu chính thức có thể được tìm thấy here hoặc ít này GitHub permalink


Nó được nói đến trong this video tại 14:28.

Từ slides: Slide #14

Về cơ bản, header sẽ được sử dụng khi viết giao diện cho module làm việc trên nhiều nền tảng (JVM, JS, và Native). Từ khóa impl sẽ được sử dụng khi viết một triển khai cho một nền tảng cụ thể.

+0

Đây phải là tất cả những gì cần biết về 'header' và' impl' keyword'. Cảm ơn vì đã đào bới điều đó. – glee8e

Các vấn đề liên quan