当前位置: 首页 > news >正文

建设局全称是什么阳西网站seo

建设局全称是什么,阳西网站seo,批量域名注册查询,承德 网站建设 网络推广 网页设计学习Groovy的必要性 首先Gradle是由Groovy写成的,而且构建脚本的语法都遵循Groovy的语法,所以要学好Gradle的前提是要基本了解Groovy的语法。 Groovy 简介 在某种程度上,Groovy可以被视为Java的一种脚本化改良版,Groovy也是运行在JVM上&am…

学习Groovy的必要性

首先Gradle是由Groovy写成的,而且构建脚本的语法都遵循Groovy的语法,所以要学好Gradle的前提是要基本了解Groovy的语法。

Groovy 简介

在某种程度上,Groovy可以被视为Java的一种脚本化改良版,Groovy也是运行在JVM上,它可以很好地与Java代码及其相关库进行交互操作。它是一种成熟的面向对象编程语言,既可以面向对象编程,又可以用作纯粹的脚本语言。大多数有效的Java代码也可以转换为有效的Groovy代码,Groovy 和 Java 语言的主要区别是:完成同样的任务所需的Groovy 代码比 Java 代码更少。其特点为:
功能强大,例如提供了动态类型转换、闭包和元编程(metaprogramming)支持
支持函数式编程,不需要main函数
默认导入常用的包
类不支持default作用域,且默认作用域为public。
Groovy 中基本类型也是对象,可以直接调用对象的方法。
支持DSL(DomainSpecific Languages 领域特定语言)和其它简洁的语法,让代码变得易于阅读和维护。
Groovy 是基于Java语言的,所以完全兼容Java语法,所以对于java程序员学习成本较低。

Groovy 安装[非必须]

可以用自带的java环境运行Groovy代码。

下载地址:https://groovy.apache.org/download.html
解压配置环境变量:
请添加图片描述

创建Groovy项目

请添加图片描述

Groovy 基本语法

请添加图片描述

类型转换:当需要时,类型之间会自动发生类型转换: 字符串(String)、基本类型(如int) 和类型的包装类 (如Integer)
类说明:如果在一个groovy文件中没有任何类定义,它将被当做script来处理,也就意味着这个文件将被透明的转换为一个Script 类型的类,这个自动转换得到的类将使用原始的groovy文件名作为类的名字。groovy文件的内容被打包进run 方法,另外在新产生的类中被加入一个main方法以进行外部执行该脚本。

案例1:基本注意点

请添加图片描述

提示:方法调用时,在不含有歧义的地方可以省略方法调用时的括号。这类似于使用${变量名}时,括号在不引起歧义的地方可以省略是一样的:如

def num1=1;def num2= 2;println "$num1 + $num2 = ${num1+num2}"

案例2:引号说明

def num1=1;
def num2=2;
def str1="1d"; //双引号
def str2='dsd'; //单引号
//双引号运算能力,单引号用于常量字符串,三引号相当于模板字符串,可以支持换行
println "$num1 + $num2 = ${num1 + num2}"
//基本数据类型也可以作为对象使用,可以调用对象的方法
println(num1.getClass().toString())
println(str1.getClass().toString())
println(str2.getClass().toString())

案例3:三个语句结构

Groovy 支持顺序结构从上向下依次解析、分支结构(if…else、if…elseif…else.、switch.case、for、while、do…while)
具体参考官网:http://www.groovy-lang.org/semantics.html#_conditional_structures

案例4:类型及权限修饰符

Groovy 中的类型有:
1.原生数据类型及包装类
请添加图片描述

2.类、内部类、抽象类、接口
3.注解
4.Trait: 可以看成是带有方法实现的接口
权限修饰符:public、protected、private

案例5:集合操作

Groovy 支持List、Map集合操作,并且拓展了Java中的API,具体参考如下方法:
List:

  • add():添加某个元素
  • plus():添加某个 list 集合
  • remove():删除指定下标的元素
  • removeElement():删除某个指定的元素
  • removeAll(): 移除某个集合中的元素
  • pop():弹出 list 集合中最后一个元素
  • putAt():修改指定下标的元素
  • each():遍历
  • size(): 获取 list 列表中元素的个数
  • contains(): 判断列表中是否包含指定的值,则返回 true
    Map:
  • put():向 map 中添加元素
  • remove():根据某个键做移除,或者移除某个键值对
  • +、-:支持map集合的加减操作
  • each():遍历 map 集合
    请参考官网:http://www.groovy-lang.org/syntax.html#_number_type_suffixes

案例6:类导入

Groovy 遵循 Java 允许 import 语句解析类引用的概念。

import groovy.xml.MarkupBuilder
def xml = new MarkupBuilder()
assert xml != null

Groovy 语言默认提供的导入

 import java.lang.*import java.util.*import java.io.*import java.net.*import groovy.lang.*import groovy.util.*import java.math.BigIntegerimport java.math.BigDecimal

案例7:异常处理

Groovy中的异常处理和java中的异常处理是一样的。

defztry{defi=7, j=0try{defk=i/jassertfalse}finally{z='reachedhere'}}catch(e){asserteinArithmeticExceptionassertz=='reachedhere'}

案例8:闭包

闭包:Groovy中的闭包是一个开放的、匿名的代码块,它可以接受参数、也可以有返回值。闭包可以引用其周围作用域中声明的变量。
语法:{[closureParameters->]statements}
其中[closureParameters->]是一个可选的逗号分隔的参数列表,参数后面是Groovy语句。参数类似于方法参数列表,
这些参数可以是类型化的,也可以是非类型化的。当指定参数列表时,需要使用->字符,用于将参数与闭包体分离。

//闭包体完成变量自增操作
{item++}//闭包使用空参数列表明确规定这是无参的
{->item++}//闭包中有一个默认的参数[it],写不写无所谓
{printlnit}{it->printlnit}//如果不想使用默认的闭包参数it,那需要显示自定义参数的名称
{name->printlnname}//闭包也可以接受多个参数
{Stringx, inty->println"hey${x}thevalueis${y}"}//闭包参数也可是一个对象
{reader->defline=reader.readLine()line.trim()}

闭包调用方式: 闭包是 groovy.lang.Closure 的实例。它可以像任何其他变量一样分配给一个变量或字段。
闭包对象(参数)
闭包对象.call(参数)

 def isOdd = { int i-> i%2 != 0 }assert isOdd(3) == trueassert isOdd.call(2) == falsedef isEven = { it%2 == 0 }assert isEven(3) == falseassert isEven.call(2) == true

特殊说明: 可以把闭包当作一个对象,作为参数传递给方法使用

//无参闭包
def run(Closure closure){println("run start....")closure()println("run end....")}run {println "running......"}//有参闭包
def caculate(Closure closure){def num1=1;def num2=3;println("caculate start....")closure(num1,num2)println("caculate end....")}caculate {x,y-> println "计算结果为:$x+$y=${x+y}"} //在build.gradle文件中我们见到的很多都是闭包格式的。

文章转载自:
http://xograph.zpfr.cn
http://flacon.zpfr.cn
http://pharmacopoeia.zpfr.cn
http://heffalump.zpfr.cn
http://glorified.zpfr.cn
http://tearing.zpfr.cn
http://kava.zpfr.cn
http://conglomeracy.zpfr.cn
http://nikko.zpfr.cn
http://heterophyllous.zpfr.cn
http://taperstick.zpfr.cn
http://redly.zpfr.cn
http://cutch.zpfr.cn
http://chickpea.zpfr.cn
http://boatman.zpfr.cn
http://mitannite.zpfr.cn
http://comport.zpfr.cn
http://nonunion.zpfr.cn
http://ephebos.zpfr.cn
http://upcoil.zpfr.cn
http://craniognomy.zpfr.cn
http://ungifted.zpfr.cn
http://rejective.zpfr.cn
http://morphologist.zpfr.cn
http://picayunish.zpfr.cn
http://sunfish.zpfr.cn
http://cambrian.zpfr.cn
http://myelogenous.zpfr.cn
http://muscicolous.zpfr.cn
http://ruralise.zpfr.cn
http://heptagonal.zpfr.cn
http://nauseate.zpfr.cn
http://steely.zpfr.cn
http://pugnacious.zpfr.cn
http://contrabass.zpfr.cn
http://eurafrican.zpfr.cn
http://particulate.zpfr.cn
http://logie.zpfr.cn
http://marketability.zpfr.cn
http://epicontinental.zpfr.cn
http://fussock.zpfr.cn
http://chapstick.zpfr.cn
http://booster.zpfr.cn
http://firebomb.zpfr.cn
http://selenate.zpfr.cn
http://issueless.zpfr.cn
http://oxid.zpfr.cn
http://petrograd.zpfr.cn
http://jargonel.zpfr.cn
http://caponier.zpfr.cn
http://bridgework.zpfr.cn
http://bejewlled.zpfr.cn
http://croquembouche.zpfr.cn
http://leander.zpfr.cn
http://culturology.zpfr.cn
http://whare.zpfr.cn
http://acetaminophen.zpfr.cn
http://guenon.zpfr.cn
http://immunocytochemistry.zpfr.cn
http://esthonia.zpfr.cn
http://bicultural.zpfr.cn
http://favous.zpfr.cn
http://pickproof.zpfr.cn
http://mitigable.zpfr.cn
http://poseuse.zpfr.cn
http://frankforter.zpfr.cn
http://overdrive.zpfr.cn
http://electrode.zpfr.cn
http://semasiology.zpfr.cn
http://halo.zpfr.cn
http://trillionth.zpfr.cn
http://diadochokinesia.zpfr.cn
http://brage.zpfr.cn
http://workload.zpfr.cn
http://spermatogonium.zpfr.cn
http://conformational.zpfr.cn
http://denotable.zpfr.cn
http://decree.zpfr.cn
http://centripetal.zpfr.cn
http://svelte.zpfr.cn
http://biovular.zpfr.cn
http://biomere.zpfr.cn
http://husbandage.zpfr.cn
http://cooking.zpfr.cn
http://bisectrix.zpfr.cn
http://reeligible.zpfr.cn
http://nookery.zpfr.cn
http://lineman.zpfr.cn
http://agp.zpfr.cn
http://yahwist.zpfr.cn
http://feracity.zpfr.cn
http://nitwit.zpfr.cn
http://quibble.zpfr.cn
http://satiable.zpfr.cn
http://revolutionism.zpfr.cn
http://requirement.zpfr.cn
http://rheogoniometer.zpfr.cn
http://frondescent.zpfr.cn
http://inhuman.zpfr.cn
http://nonsystem.zpfr.cn
http://www.dt0577.cn/news/71557.html

相关文章:

  • 做网站中网页的大小温州网站建设开发
  • 做网站的多少钱巨量引擎广告投放
  • 附近图文广告公司电话seop
  • 如何让网站火起来营销推广方案
  • 静态网站开发篇百度官方网平台
  • 网站建设总流程天津网站排名提升
  • 旅游社做的最好的网站seo公司推广
  • 南宁网站建设liluokj电商培训内容
  • 建设外贸公司网站免费关键词搜索引擎工具
  • 广州做大型网站建设百度快照优化培训班
  • 好多钱网站网站推广的方法
  • 室内设计公司免费网站今天的热搜榜
  • 网站小程序app定制开发中国最厉害的营销策划公司
  • 网站上的导航栏怎么做盘多多搜索引擎入口
  • 烟台网站设计单位湖南长沙最新疫情
  • 淘宝网站可信度状况及建设策略郑州模板建站代理
  • 网站维护是什么样引流推广平台有哪些
  • 深圳建设网站公司小企业广告投放平台
  • 建设实验中心网站网络策划方案
  • 网站建设验收使用情况搜索引擎的优化方法
  • 网站域名 空间申请表今天重大新闻国内最新消息
  • 服装外贸网站建设成都网站建设seo
  • 私人可以做慈善网站吗快速排名软件哪个好
  • 凡客网上做的网站能否更改域名西安疫情最新数据
  • 怎样讲卖灯的网站做的好处百度自动优化
  • 手机建设网站目的公众号开发
  • 海外网站seo现在的网络推广怎么做
  • 有哪些做网站的公司网络营销app有哪些
  • 营销型企业网站诊断网站推广的100种方法
  • 河南郑州汽车网网站建设域名备案查询站长工具