003--【工具】groovy之基础语法

it2025-09-10  50

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 one line two line 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 '未成年' break case 18..30: println '青年' break case 31..50: println '中年' break default: println '老年' }
最新回复(0)