引言
前面我们了解了groovy的一些概念
接下来我们来看下groovy的语法
学习任何一门语言,语法是语言最基础和最核心的东西
即使再怎么懂编程思想,但是不懂编程语言,那么是不可能写出具体的代码
语法的学习是没有捷径可以走的,唯一的办法就是多练
简要
groovy中的变量,主要分下面两个点:
(1)变量的类型
基本类型
对象类型
(2)变量的定义
强类型定义
弱类型定义
基本类型,如:byte,int,long等
对象类型,如:String等
这些和我们的java类似,但是我们的groovy的类型最终都是对象类型的
也就groovy是不存在基本类型的
变量的类型
首先是我们的基本型类型,groovy语言中,有这么一个特点
表面上的基本型类型最终都会被转换为引用型类型
比如下面的例子:
首先是我们的基本型类型,groovy语言中,有这么一个特点,表面上的基本型类型最终都会
被转换为引用型类型,比如下面的例子:
图片中可以看出,虽然定义的是int x = 10,但是打印出来的类型却是Integer类型
但是对于我们编程来说,是没有影响的
转换的工作都是编译器帮我们转换等的
变量的定义
这个的话和我们的java差别就比较大了
首先是定义分强类型和弱类型定义,这一点到和java有点像
上面的例子中,int x = 10 就是一种强类型的定义方式
意思就是在声明变量的过程中,也把变量的类型指定了
弱类型定义,不需要提前指定变量的类型,通过def这个关键字来告诉编译器
这一点是java没有的特点
下面举个例子:
可以看出,通过def定义的变量,编译器会去推断变量的类型
那么两种定义类型,应该怎么选择?
根据经验,一般变量如果是自己的,不会被其他类使用,或者其他应用模块
推荐def方式定义,因为自己用,自己知道类型并且可以动态转换为其他类型
如果其他类或者模块公用的变量,那么建议不要用def方式定义,因为强类型定义方式
是不能动态改变类型的,当外界传给我们值的时候,是比较明确的
举个可以动态改变的例子:
一开始a类型为int
后来直接赋值后,变为了string
好了,到这里两种变量的定义就讲完了,和java差不多,不同的是
类型的动态变化
结尾
哈哈,该篇就写到这里(一起体系化学习,一起成长)
Tips
更多精彩内容,请关注 ”Android热修技术“ 微信公众号