Kotlin (ngôn ngữ lập trình) – Wikipedia tiếng Việt

Related Articles

Kotlin là một ngôn ngữ lập trình kiểu tĩnh chạy trên máy ảo Java (JVM) và có thể được biên dịch sang mã nguồn Java hay sử dụng cơ sở hạ tầng trình biên dịch LLVM. Nó được tài trợ và phát triển bởi bởi JetBrains. Mặc dù cú pháp không tương thích với Java, nhưng hiện thực JVM của thư viện chuẩn Kotlin được thiết kế để tương tác với mã Java và dựa vào mã Java từ Java Class Library có sẵn, ví dụ như collections framework.[2] Kotlin sử dụng suy luận kiểu một cách tích cực để xác định kiểu của giá trị và biểu thức vốn không được nêu rõ. Điều này giúp giảm tính dài dòng của ngôn ngữ so với Java, vốn thường đòi hỏi toàn bộ đặc kiểu một cách dư thừa mãi đến phiên bản 10. Mã Kotlin có thể chạy trên JVM đến phiên bản Java 11 mới nhất.

Kể từ Android Studio 3.0 ( phát hành vào tháng 10 năm 2017 ), Kotlin được Google tương hỗ vừa đủ để sử dụng cho việc lập trình ứng dụng cho hệ quản lý và điều hành Android của họ, [ 3 ] và được nhúng trực tiếp vào trong gói setup của IDE đó để sửa chữa thay thế cho trình biên dịch Java tiêu chuẩn. Trình biên dịch Android Kotlin được cho phép người dùng lựa chọn giữa hướng đến mã bytecode thích hợp với Java 6, hay Java 8. [ 4 ]

Vào tháng 7 năm 2011, JetBrains đã ra mắt Project Kotlin, là một ngôn từ mới cho JVM đã được tăng trưởng trong một năm. [ 5 ] Lãnh đạo JetBrains Dmitry Jemerov nói rằng hầu hết những ngôn từ không có những tính năng mà họ tìm kiếm, ngoại trừ Scala. Tuy nhiên, ông chỉ ra rằng thời hạn biên dịch quá chậm của Scala là một điểm yếu kém rõ ràng. [ 5 ] Một trong những tiềm năng được nhắc đến của Kotlin là biên dịch nhanh như Java. Vào tháng 2 năm 2012, JetBrains mở nguồn dự án Bất Động Sản theo giấy phép Apache 2. [ 6 ]

Tên của nó đến từ đảo Kotlin, gần St. Petersburg. Andrey Breslav đề cập rằng nhóm quyết định chọn tên hòn đảo đó giống như Java được đặt theo tên đảo Java của Indonesia[7] (mặc dù ngôn ngữ lập trình Java có lẽ được đặt theo tên một loại cà phê[8]).

JetBrains kỳ vọng rằng ngôn từ mới sẽ thôi thúc doanh thu IntelliJ IDEA. [ 9 ]Kotlin v1. 0 được phát hành vào ngày 15 tháng 2 năm năm nay. [ 10 ] Đây được coi là phiên bản chính thức không thay đổi tiên phong và JetBrains đã cam kết thích hợp ngược dài hạn kể từ phiên bản này .Tại hội nghị Google I / O 2017, Google công bố tương hỗ hạng nhất ( first-class tư vấn ) cho Kotlin trê Android. [ 3 ]Kotlin v1. 2 được phát hành vào ngày 28 tháng 11 năm 2017. [ 11 ] Tính năng san sẻ mã nguồn giữa nền tảng JVM và Javascript mới được thêm vào bản phát hành này .Kotlin v1. 3 được phát hành vào ngày 29 tháng 10 năm 2018, với những coroutine API cho lập trình bất đồng bộ .

Trưởng nhóm tăng trưởng Andrey Breslav nói rằng Kotlin được phong cách thiết kế để trở thành một ngôn từ hướng đối tượng người dùng công nghiệp can đảm và mạnh mẽ, và là một ” ngôn từ tốt hơn ” Java, nhưng vẫn hoàn toàn có thể thích hợp trọn vẹn với mã Java, được cho phép những công ty thực thi quy đổi dần từ Java sang Kotlin. [ 12 ]Dấu chấm phẩy là tùy chọn để kết thúc câu lệnh ; trong hầu hết trường hợp thì một newline là đủ cho trình biên dịch hiểu rằng câu lệnh đã kết thúc. [ 13 ]Cách khai báo biến Kotlin và list tham số có kiểu tài liệu theo sau tên biến ( với một dấu hai chấm phân làn ), tương tự như như Pascal .Biến trong Kotlin hoàn toàn có thể không bao giờ thay đổi ( immutable ), bằng cách khai báo với từ khóa val, hoặc biến hóa ( mutable ), bằng cách khai báo với từ khóa var. [ 14 ]Các thành viên của lớp mặc định được công khai minh bạch ( public ), và chính những lớp đó theo mặc định là ” final “, nghĩa là việc tạo một lớp dẫn xuất bị vô hiệu trừ khi lớp cơ sở được khai báo với từ khóa open .Ngoài lớp và phương pháp ( được gọi là hàm thành viên trong Kotlin ) của lập trình hướng đối tượng người dùng, Kotlin cũng tương hỗ lập trình thủ tục với việc sử dụng hàm. [ 15 ]

Phong cách lập trình hàm[sửa|sửa mã nguồn]

Kotlin nới lỏng các giới hạn của Java vốn chỉ cho phép phương thức và biến tĩnh (static) chỉ tồn tại trong thân hàm. Đối tượng và hàm tĩnh có thể được định nghĩa ở mức cao nhất (top level) của gói (package) mà không cần một mức của lớp dư thừa. Để tương thích với Java, Kotlin cung cấp chú thích JvmName để đặc tả một tên lớp được sử dụng khi gói được xem từ một dự án Java. Ví dụ như @file:JvmName("JavaClassName").

Điểm vào chính[sửa|sửa mã nguồn]

Cũng như trong C và C + +, điểm vào chính ( entry point ) của một chương trình Kotlin là một hàm tên ” main “, được truyền vào một mảng chứa bất kỳ đối số dòng lệnh nào. Nội suy chuỗi kiểu Perl và Unix shell cũng được tương hỗ, cũng như suy luận kiểu .

/ / Hello, World ! example
fun main(args: Array) { val scope = " World " println(" Hello ,USDscope! ")
}

Phương thức lan rộng ra[sửa|sửa mã nguồn]

Tương tự như C #, Kotlin được cho phép người dùng thêm những phương pháp vào bất kỳ lớp nào mà không cần phải tạo một lớp dẫn xuất từ lớp đó với những phương pháp mới. Thay vào đó, Kotlin bổ trợ khái niệm phương pháp lan rộng ra ( extension method ) để cho phép bất kỳ hàm nào hoàn toàn có thể được ” gắn ” vào list phương pháp công khai minh bạch ( public ) của bất kỳ lớp nào mà không cần phải được chính thức khai báo bên trong lớp đó. Nói cách khác, phương pháp lan rộng ra là một phương pháp trợ giúp có quyền truy xuất tới những cả những giao diện công khai minh bạch của lớp đó vốn hoàn toàn có thể dùng để tạo nên giao diện công khai minh bạch ( public interface ) mới cho lớp, và phương pháp đó sẽ Open đúng chuẩn như một phương pháp của lớp, Open như một phần của thanh tra hoàn tất mã ( code completion inspection ) của phương pháp lớp. Ví dụ như :

 package MyStringExtensions fun String.lastChar( ) : Char = get(length - 1) >> > println(" Kotlin ".lastChar( ) )

Bằng cách đặt mã trên ở mức cao nhất của gói, lớp String ( chuỗi ) được lan rộng ra để thêm vào phương pháp lastChar vốn không được gồm có trong định nghĩa bắt đầu của lớp String .

 / / Overloading ' + ' operator using an extension method operator fun Point.plus(other: Point) : Point { return Point(x + other.x, y + other.y) } >> > val p1 = Point(10, 20) >> > val p2 = Point(30, 40) >> > println(p1 + p2) Point(x=40, y=60)

Hàm lồng nhau[sửa|sửa mã nguồn]

Kotlin được cho phép những hàm cục bộ ( local function ) hoàn toàn có thể được định nghĩa bên trong những hàm hoặc phương pháp khác, gọi là hàm lồng nhau ( nested function ) .

 class User(

val

id: Int, val name: String, val address: String) fun saveUserToDb(user: User) { fun validate(user: User, value: String, fieldName: String) { if (value.isEmpty( ) ) { throw IllegalArgumentException(" Can't save userUSD {user.id}: emptyUSDfieldName") } } validate(user, user.name, " Name ") validate(user, user.address, " Address ") / / Save user to the database ... }

Thư viện Anko[sửa|sửa mã nguồn]

Anko là một thư viện được tạo riêng cho Kotlin để giúp thiết kế xây dựng những ứng dụng giao diện người dùng cho Android. [ 16 ]

 fun Activity.showAreYouSureAlert(process: ( ) -> Unit) { alert( title = " Are you sure ? ", message = " Are you really sure ? ") { positiveButton(" Yes ") { process( ) } negativeButton(" No ") { cancel( ) } } }

Shell tương tác Kotlin[sửa|sửa mã nguồn]

$ kotlinc-jvm
type:help for help; :quit for quit
>>> 2+2
4
>>> println

(

" Hello, World ! ") Hello, World! >>>
  • IntelliJ IDEA có hỗ trợ plug-in cho Kotlin.[17] IntelliJ IDEA 15 là phiên bản đầu tiên nhúng plugin Kotlin vào trong Trình cài đặt IntelliJ, và cung cấp sự hỗ trợ Kotlin ngay lập tức.[18]
  • JetBrains cũng cung cấp một plugin cho Eclipse.[19][20]
  • Tích hợp với các cộng cụ xây dựng Java phổ biến cũng được hỗ trợ bao gồm Apache Maven,[21] Apache Ant,[22] và Gradle.[23]
  • Android Studio (dựa trên IntelliJ IDEA) hỗ trợ chính thức cho Kotlin từ phiên bản Android Studio 3.[24]
  • Emacs cũng có chế đột Kotlin Mode trên kho chứa gói Melpa.
  • This article contains quotations from Kotlin tutorials which are released under a Apache 2.0 license.

Liên kết ngoài[sửa|sửa mã nguồn]

More on this topic

Comments

LEAVE A REPLY

Please enter your comment!
Please enter your name here

Advertismentspot_img

Popular stories