Groovy 和 Gradle (Android Studio)基础

1 参考

2 资源

3 基本

  • Gradle虽然使用的是Groovy语言,但是其实际上是基于Java语言的,所以在编写脚本的时候可以直接使用Java语言。

4 Groovy语言基础

虽然在编写脚本的时候可以直接使用java代码,但是使用脚本化语言更加的清晰。

Groovy开发环境配置

参看:http://www.jianshu.com/p/777cc61a6202

前置基础知识

  • Groovy注释标记和Java一样,支持//或者/**/

  • Groovy语句可以不用分号结尾

  • Groovy中支持动态类型,即定义变量的时候可以不指定其类型,Groovy中,变量定义可以使用关键字def,注意,虽然def不是必须的,但是为了代码清晰,建议还是使用def关键字

  • Groovy中每一个对象的成员变量会自动为它生成gettersetter函数,所以我们可以直接调用其成员变量或者对应方法。

    var0 = "no def no type"
    def var1 = 1   //可以不使用分号结尾  
    def var2 = "I ama person"  
    def int x = 1  //变量定义时,也可以直接指定类型
  • 函数定义时,参数的类型也可以不指定,比如
    String testFunction(arg1,arg2){//无需指定参数类型  
    ...  
    }
  • 除了变量定义可以不指定类型外,Groovy中函数的返回值也可以是无类型的。比如:
    //无类型的函数定义,必须使用def关键字  
    def  nonReturnTypeFunc(){  
        last_line   //最后一行代码的执行结果就是本函数的返回值  
    }  
    //如果指定了函数返回类型,则可不必加def关键字来定义函数  
    String getString(){  
       return"I am a string"  
    }
  • Groovy中的函数调用可以不加括号,但是在定义函数的时候不可以省略,否则会被编译器认为是变量
println("123")   ->    println "123"
对字符串的支持
  • 单引号”,表示严格的字符串,等同于java的String类型
  • 双引号”“,与普通字符串的区别是会对 $表达式先求值
def var = 123
println "i am a $var"  // 最后打印 i am a 123
  • 三个引号”’xxxx”’中的字符支持随意换行
str = ''' 1223
          122
          556
      '''
五种特殊运算符
  • ?.运算符,相当于不为空,则执行某个操作
list?.size()
//等同于
if(list != null){
    list.size()
}
  • *.运算符,用于对集合类型的对象的每个元素执行相同的方法,返回值为大小和该集合元素相同的List。
def smaple = ['123','1','12345']
println smaple*.size() 
  • .&方法作为一个闭包参数传递
def list = {
  1, 2, 3}

list.each{
    println it
}

int printNumber(int number){
    println number
}

//作为方法作为一个闭包传递
list.each(this.&printNumber)
  • .@直接调用字段,在groovy中直接使用.调用的是对应的getter方法
class Todo {  
    String name  
    def getName() {  
      println "Getting Name"  
      name  
    }  
}  

def todo = new Todo(name: "Jim")  
println todo.
  • 3
    点赞
  • 10
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值