【Gradle系列】Groovy語法之變量定義

引言

前面咱們瞭解了groovy的一些概念java

接下來咱們來看下groovy的語法編程

學習任何一門語言,語法是語言最基礎和最核心的東西微信

即便再怎麼懂編程思想,可是不懂編程語言,那麼是不可能寫出具體的代碼markdown

語法的學習是沒有捷徑能夠走的,惟一的辦法就是多練編程語言

簡要

groovy中的變量,主要分下面兩個點:post

(1)變量的類型學習

基本類型

對象類型
複製代碼

(2)變量的定義spa

強類型定義
弱類型定義
複製代碼

基本類型,如:byte,int,long等code

對象類型,如:String等orm

這些和咱們的java相似,可是咱們的groovy的類型最終都是對象類型的

也就groovy是不存在基本類型的

變量的類型

首先是咱們的基本型類型,groovy語言中,有這麼一個特色

表面上的基本型類型最終都會被轉換爲引用型類型

好比下面的例子:

首先是咱們的基本型類型,groovy語言中,有這麼一個特色,表面上的基本型類型最終都會

被轉換爲引用型類型,好比下面的例子:

企業微信截圖_0959ad9d-83e6-4eb8-b6e1-a68aa6f5167e.png

圖片中能夠看出,雖然定義的是int x = 10,可是打印出來的類型倒是Integer類型

可是對於咱們編程來講,是沒有影響的

轉換的工做都是編譯器幫咱們轉換等的

變量的定義

這個的話和咱們的java差異就比較大了

首先是定義分強類型和弱類型定義,這一點到和java有點像

上面的例子中,int x = 10 就是一種強類型的定義方式

意思就是在聲明變量的過程當中,也把變量的類型指定了

弱類型定義,不須要提早指定變量的類型,經過def這個關鍵字來告訴編譯器

這一點是java沒有的特色

下面舉個例子:

2.png

能夠看出,經過def定義的變量,編譯器會去推斷變量的類型

那麼兩種定義類型,應該怎麼選擇?

根據經驗,通常變量若是是本身的,不會被其餘類使用,或者其餘應用模塊

推薦def方式定義,由於本身用,本身知道類型而且能夠動態轉換爲其餘類型

若是其餘類或者模塊公用的變量,那麼建議不要用def方式定義,由於強類型定義方式

是不能動態改變類型的,當外界傳給咱們值的時候,是比較明確的

舉個能夠動態改變的例子:

3.png

一開始a類型爲int

後來直接賦值後,變爲了string

好了,到這裏兩種變量的定義就講完了,和java差很少,不一樣的是

類型的動態變化

結尾

哈哈,該篇就寫到這裏(一塊兒體系化學習,一塊兒成長)