【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差很少,不一样的是

类型的动态变化

结尾

哈哈,该篇就写到这里(一块儿体系化学习,一块儿成长)

相关文章
相关标签/搜索