Kotlin Syntax

Như các bạn đã biết, vào cái đợt Google IO 2017 vừa rồi, Google đã công bố chọn Kotlin làm ngôn ngữ chính thức cho đứa con Android của mình. Kotlin là một ngôn ngữ gọn gàng, an toàn hơn so với Java.

Trước tiên, mình sẽ minh hoạ 1 đoạn code bên java ứng với 1 đoạn code kotlin:

Code Java:

public class MainActivity extends AppCompatActivity {

    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_main);
        Toolbar toolbar = (Toolbar) findViewById(R.id.toolbar);
        setSupportActionBar(toolbar);

        FloatingActionButton fab = (FloatingActionButton) findViewById(R.id.fab);
        fab.setOnClickListener(new View.OnClickListener() {
            @Override
            public void onClick(View view) {
                Snackbar.make(view, "Replace with your own action", Snackbar.LENGTH_LONG)
                        .setAction("Action", null).show();
            }
        });
    }
}

Code Kotlin:

class MainActivity : AppCompatActivity() {

    override fun onCreate(savedInstanceState: Bundle?) {
        super.onCreate(savedInstanceState)
        setContentView(R.layout.activity_main)
        val toolbar = findViewById(R.id.toolbar) as Toolbar
        setSupportActionBar(toolbar)

        val fab = findViewById(R.id.fab) as FloatingActionButton
        fab.setOnClickListener { view -> Snackbar.make(view, "Replace with your own action", Snackbar.LENGTH_LONG).setAction("Action", null).show() }
    }
}

12 dòng trong Kotlin so với 19 dòng trong Java. Lý do khá đơn giản thôi, Kotlin đã đơn giản hoá và loại bỏ bớt sự rườm rà bên Java, điều này làm code của bạn ngắn hơn, dễ đọc dễ viết hơn.

Dạo đầu vậy được rồi, vào đề chính thôi, hôm nay mình sẽ phân tích một số sự thay đổi về syntax giữa Java và Kotlin. Lưu ý là mình cũng mới tìm hiểu Kotlin được một thời gian ngắn nên mình chỉ mới tổng hợp lại một số syntax cơ bản thôi nha.

Extend và Implement

Trong Kotlin thì Extend và Implement được thay thế bằng dấu “:”, ví dụ một class extend từ AppCompatActivity sẽ viết như sau:

class MainActivity : AppCompatActivity()

Function (fun)

Không còn cấu trúc “public void methodName()” nữa mà chỉ đơn giản là fun + name:

fun doSomeThing() {
    //do some thing
}

Nếu như bạn muốn cái “fun” này trả về một giá trị thuộc kiểu dữ liệu nào đó thì bạn thêm “ : + kiểu dữ liệu trả về ”

//trả về kiểu Int
fun doSomeThing(): Int  

//trả về kiểu String
fun doSomeThing(): String  

//giống void bên Java
fun doSomeThing(): Unit 
...

Chia tay dấu “;”

Chúng ta sẽ không còn thấy lỗi màu đỏ miss cái dấu “;” nào nữa, bạn cứ tự tin enter xuống dòng

Variable

Để định nghĩa 1 variable thì trong Kotlin ta dùng “var” đối với biến, và “val” đối với hằng. Ví dụ:

val price = 100        // hằng
var total = price * 3  // biến
val name = "Juancho"   // hằng

ngoài ra, chúng ta có gán kiểu dữ liệu cho variable:

val lastname : String = "Hung" 
var size : Double = 30.0
var time : Float = 15f

Trên đây là tổng hợp những syntax cơ bản theo cá nhân mình là cần thiết cho những ai chuyển từ Java sang Kotlin. Còn một phần cũng không kém phần quan trọng nữa đó là phần dấu “?” và “!!” mình sẽ nói trong bài sau. Xin chào và hẹn gặp lại trong bài sau. by HungNguyen

results matching ""

    No results matching ""