安裝本網站至主畫面:

[Groovy] 程式設計教學:變數 (Variable)

PUBLISHED ON JAN 10, 2019 — PROGRAMMING
Facebook Twitter LinkedIn LINE Skype EverNote GMail Yahoo Email

    在上一篇文章中,我們開始試著寫一些簡單的 Groovy 程式,在這篇文章,我們會介紹變數 (variable);電腦程式很大一部分是在操作各種資料 (data)。在本文中,我們會學到 Groovy 程式如何處理一些基本的資料。

    在撰寫程式時,我們會將資料存在變數中,在後續的程式中可呼叫該變數。在電腦程式中,程式調用的資料會存在記憶體中,變數會指向資料,但我們平常在寫程式時不需了解這些技術細節。我們以一個簡單的例子來看變數的使用:

    // Declare the variable name, assigning a string to it.
    def name = "Michael"
    
    // Call the variable, printing it out.
    println "Hello ${name}"

    在 Groovy 中,使用 def 宣告變數。首先,我們宣告一個變數 name,並指派一個字串 "Michael"name。接著,我們呼叫此變數,將其印出。

    由於 Groovy 是動態型別語言,變數的型別可自由改變。見下例:

    // var is an integer
    def var = 100
    
    assert var == 100
    assert var instanceof java.lang.Integer
    
    // var is a string now
    var = "Michael"
    
    assert var == "Michael"
    assert var instanceof java.lang.String

    一開始,變數 var 是整數,其值為 100,後來,var 重新指派為字串,其值為 "Michael"

    在我們的程式中,我們用斷言 (assertion) 代替 println,因為這樣可以在閱讀程式碼時就知道程式的狀態,我們之後大部分程式碼都會用這種風格。在本例中,透過 instanceof 可以得到變數 var 的類別 (class),在此處就是型別 (data type),我們會在下文再介紹資料型別。

    除了使用動態型別,我們也可以加上型別的資訊。見下例:

    // var is an integer
    int var = 100
    
    assert var == 100
    assert var.class == java.lang.Integer

    這時候,變數就有特定的型別,若更動型別會造成程式的錯誤,見下例:

    // var is an integer
    int var = 100
    
    assert var == 100
    assert var instanceof java.lang.Integer
    
    // Error!.
    var = "Michael"

    這是因為變數 var 已經綁定特定的型別。在 Groovy,型別是選擇性的 (optional),程式設計者可視需求自行決定是否要加入型別。通常,如果想要在程式中限定變數的類型時,就會加上,反之則不加。

    你或許對以下產品有興趣
    TAGS: GROOVY, JAVA