Điều này không làm mất đi tính năng của việc có nhiều điểm vào chính trong java có thể được gọi là và khi được yêu cầu.Tại sao Kotlin lang chỉ cho phép chức năng chính duy nhất trong dự án?
5
A
Trả lời
13
CẬP NHẬT: các phiên bản gần đây của Kotlin cho phép nhiều chức năng main
ngay cả trong cùng một gói (nếu chúng nằm trong các tệp khác nhau).
Bạn có thể có nhiều chức năng chính trong dự án của bạn nhưng chỉ có một chức năng chính mỗi gói
Lý do tại sao bạn không thể làm nhiều chức năng chính trong gói là tất cả các chức năng trong gói được lưu trữ trong lớp trọn gói do đó bạn không thể có nhiều hàm trong một lớp có cùng chữ ký.
Vì vậy, nếu bạn muốn nhiều chức năng chính bạn phải xác định em trong các gói khác nhau
15
Ngoài comment Sergey Mashkov: bạn có thể đặt một main
bên trong một đối tượng và đánh dấu nó @JvmStatic
:
object Main {
@JvmStatic
fun main(args: Array<String>) {
println("Hello, world!")
}
}
Các vấn đề liên quan
- 1. Tại sao Javascript không cho phép một chức năng xác định lại chính nó từ bên trong chính nó?
- 2. Tại sao Visual Studio chỉ cho phép một liên kết cho mỗi tệp trong một dự án?
- 3. Tham chiếu chức năng Kotlin
- 4. Biên dịch một tệp duy nhất trong dự án CMake?
- 5. Chức năng chỉ có thể được gọi trong chủ đề chính, tại sao?
- 6. Nhiều không gian tên trong một dự án duy nhất
- 7. Chức năng ghi nhớ Trong Kotlin
- 8. Thực hành tốt nhất cho một dự án SVN lớn duy nhất
- 9. Duy trì dự án với Git
- 10. tại sao thư viện không cố gắng sử dụng tên duy nhất cho các tên chức năng phổ biến
- 11. Thực hiện sao chép và phân công di chuyển với một chức năng duy nhất
- 12. Đề án cho phép
- 13. Tổ chức dự án trong C Thực tiễn tốt nhất
- 14. Tại sao MySQL Innodb "Tạo chỉ mục sắp xếp" khi chỉ mục duy nhất tồn tại?
- 15. quy ước cấu trúc thư mục dự án go-lang
- 16. Tại sao chức năng này lớn hơn chức năng?
- 17. Tổ chức dự án PHP
- 18. Tại sao gửi danh sách cho hợp tác dự án?
- 19. Trợ giúp của Maven: hiệu quả-pom` chỉ tạo ra cho một dự án duy nhất, không phải tất cả các dự án
- 20. cho phép di chuyển trong dự án x64 được System.BadImageFormatException
- 21. Chức năng của dự án> Làm sạch trong Eclipse
- 22. Sản xuất nhiều thực thi từ dự án duy nhất
- 23. dự án với lang thang, Docker và git
- 24. Tại sao đặt chức năng?
- 25. Có nhiều chức năng chính trên Go
- 26. Tại sao chức năng Clojure chỉ bao gồm các cuộc gọi chức năng lười biếng?
- 27. Nhiều tính chất cho một dự án duy nhất trong nhật thực
- 28. Kotlin có chức năng nhận diện không?
- 29. Một chức năng chỉ cho phép N chủ đề đồng thời
- 30. Chỉ định #lang cho eval trong Racket
Bạn bây giờ có thể có một tệp chính cho mỗi tệp Kotlin. Kotlin không còn tạo ra một lớp container cấp gói cho tất cả các hàm mức cao nhất, và thay vào đó tạo một lớp cho mỗi tệp. Nếu tên tệp là 'App' và nằm trong gói' foo.bar' với hàm 'main()' của bạn, thì tên lớp sẽ là 'foo.bar.AppKT' chứa' main() ' –
bạn có thể cập nhật trả lời là hiện tại, xem bình luận ở trên) –
Nếu bạn làm, thì tất cả nhưng một chức năng chính phải là riêng tư, nếu không sẽ có một xung đột tên. Hay tôi đang thiếu một cái gì đó? –