1、写作背景

目前在进行开源项目学习中,有一些项目时用gradle进行版本控制的,所以在此记录


2、参考网址

  • 基础语法参考网址:https://www.jianshu.com/p/e8dec95c4326
  • 逻辑判断参考网址:https://www.jianshu.com/p/8127742e0569

3、学习目的

  • 学习简单的语法使用,不要搞一些花哨无用的东西(炫技可耻
  • 字符String的常用操作
  • 数组Array的常用操作
  • 列表List的常用操作
  • 字典Map的常用操作
  • 范围Range的常用操作

4、语法学习

4.1)String创建

  • 普通字符串使用单引号
// 1、单引号:普通字符串
def name = '张三'
println name// 2、双引号:普通字符串
def doubleName = "hello $name"
println doubleName// 3、三引号:格式字符串
def tripleName = '''
line oneline twoline three
'''
println tripleName

4.2)对象创建

Groovy 默认会隐式的创建getter、setter方法,并且会提供带参的构造器

// In Groovy(Groovy 默认会隐式的创建getter、setter方法,并且会提供带参的构造器)
class Person {String name
}
// 1、构造器赋值
def person = new Person(name: '张三')
println(person.name)// 2、直接赋值
person.name = '李四'
println(person.name)// 3、set方法赋值
person.setName('王五')
println(person.name)

4.3)Array数组创建

// 数组创建(String[]/int[])
// 1、直接声明类型为数组类型  String[]
String[] arrStr = ['Ananas', 'Banana', 'Kiwi']
println(arrStr)
println(arrStr instanceof String[])// 2、通过as关键字指定类型为数组类型 int[]
def numArr = [1, 2, 3] as int[]
println(numArr)
println(numArr instanceof int[])

4.4)Lists列表创建

在 Groovy 中,{...} 语句块是留给闭包(Closure)使用的,所以不能像 Java 中一样使用下面这种方式初始化数组

// groovy 中,{...} 语句块是留给闭包(Closure)使用的,数组使用[]进行包装
// 列表创建(java.util.ArrayList)
def numbers = [1, 2, 3]
def arrays = [1, "a", true]println(numbers)
println(numbers.class)
println(arrays)
println(arrays.class)

4.5)Map创建

// map创建(默认使用LinkedHashMap)
// 1、key虽然没有加引号,不过Groovy会默认将其转换为字符串
def colors = [red: '红色', green: '绿色', blue: '蓝色']
println colors
println colors instanceof java.util.LinkedHashMap
println colors.red
println colors.pink
colors.pink = "粉色"
println colors.pink

--

4.6)Range创建

// range创建
def range = 0..5
println range
println range.size()
println range instanceof List
println (0..5).collect()    // 相当于闭区间
println (0..<5).collect()   // 相当于左闭右开区间
println ('a'..'d').collect()    //也可以是字符类型//常见使用场景
for (x in 1..10) {println x
}('a'..'d').each {println it
}def age = 25
switch (age) {case 0..17:println '未成年'breakcase 18..30:println '青年'breakcase 31..50:println '中年'breakdefault:println '老年'
}

003--【工具】groovy之基础语法相关推荐

  1. Groovy的基础语法

    Groovy的基础语法 Groovy 的语法融合了 Ruby.Python 和 Smalltalk 的一些最有用的功能,同时保留了基于 Java 语言的核心语法.对于Java 开发人员,Groovy ...

  2. go linux 开发工具,golang的基础语法和常用开发工具详解

    golang的基础语法 golang的基础语法和其他语言大部分都差别不大,如果我们有学习过其他语言,比如JavaScript,php,java,python等,有其他语言的语法基础,那么我们学习gol ...

  3. 【项目实战】快来入门Groovy的基础语法吧

    一.Groovy是什么? 1.1 与Java语言的关系 下一代的Java 语言,增强Java平台的唯一的脚本语言 跟java一样,它也运行在 JVM 中. 支持Java平台,无缝的集成了Java 的类 ...

  4. make工具和Makefile基础语法(含有交叉编译、pthread_create()的处理)

    目录 含有交叉编译.pthread_create()处理 初次使用 1.编写Makefile文件 2.make 3.make clean Makefile基本语法 1.Makefile规则格式 2.变 ...

  5. Java基础01 基础语法

    文章目录 01 Java概述 1.JAVA安装 2.HelloWorld 3.JAVA概述 3.1 JAVA的发展 3.2JAVA可以做什么 3.2.1 JAVA SE 3.2.2 JAVA ME 3 ...

  6. Gradle Groovy 基础语法 MD

    Markdown版本笔记 我的GitHub首页 我的博客 我的微信 我的邮箱 MyAndroidBlogs baiqiantao baiqiantao bqt20094 baiqiantao@sina ...

  7. 一、Groovy语法(一):基础语法

    Groovy基础语法 来源:https://www.jianshu.com/p/8127742e0569 1.Groovy中的变量 1.1.变量的类型:基本类型(java中的int,float,dou ...

  8. JAVA基础再回首(一)——基本概念、JAVA开发工具、JAVA基本语法

    JAVA基础再回首(一)--基本概念.JAVA开发工具.JAVA基本语法 学了java,做了android应用开发,现在回想起来,真的是一路坎坷..我在上章博客中提到了我以后的几个学习计划和目标就是把 ...

  9. python数据分析002—python基础语法

    本文为在猴子老师社群中学习python数据分析的第二关任务,主要是学习python中的一些基础语法,并通过一些简单代码展示出来. 数据类型:字符串(String)¶#案例1:定义字符串 nameStr ...

最新文章

  1. 虚拟机VMWare“提示:软件虚拟化与此平台上的长模式不兼容”的解决方法
  2. MotionEvent的getX(),getY()与getRawX(),getRawY()区别
  3. CSS中可以or不可以继承的属性
  4. 【PAT乙级】1050 螺旋矩阵 (25 分)
  5. Nhibernate 基础关系映射
  6. C#代码:获取与指定颜色相似的.NET自带颜色
  7. 用usecase获取需求的方法是否有缺陷,还有什么地方需要改进
  8. java 属性类_类和对象系列教材 (九)- Java的类属性,静态属性
  9. Python中将字典保存为文件并读取
  10. HGET key field
  11. 报表工具——开源还是商用
  12. 7.17正则表达式与re模块
  13. HTML期末大作业 使用HTML+CSS制作科技文化主题网站(航天之路)
  14. 美国TSCA 法案禁止产品中含有五种PBT 物质
  15. 中国丹参市场经营模式与盈利预测报告(新版)2021-2026年
  16. 线性规划问题及单纯形法-单纯形法原理
  17. 单片机与 PC 机串口通信实验
  18. 过滤器:管道过滤器技术特点及性能分析
  19. 代理IP的主要用途和使用注意事项
  20. el-select支持远程搜索时是没有下拉箭头icon的

热门文章

  1. 【NLP】bert中的[CLS]甚意思?
  2. L1-002 打印沙漏
  3. (五十六)假设检验(t检验、卡方检验)
  4. Android 10种技巧可提升应用运行效果
  5. subprocess execv() arg 2 must contain only strings
  6. kali_tools
  7. 如何用python爬取_如何使用python 抓取雪球网页
  8. 产品经理最最最最需要关切的三张表
  9. Windows Phone 7完整的ROM
  10. 潘洛斯三角形 不可能图形unity实现