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

axure做网站好不好家电企业网站推广方案

axure做网站好不好,家电企业网站推广方案,微电影分享网站织梦整站源码,wordpress如何设置边栏1. Groovy是什么 Groovy是基于JVM虚拟机的一种动态语言,语法和Java非常相似,并能够无缝地与Java代码集成和互操作,增加了很多动态类型和灵活的特性。(闭包、DSL) 语法和Java非常相似这个特点,意味着,如果我们完全不懂…

1. Groovy是什么

Groovy是基于JVM虚拟机的一种动态语言,语法和Java非常相似,并能够无缝地与Java代码集成和互操作,增加了很多动态类型和灵活的特性。(闭包、DSL)

语法和Java非常相似这个特点,意味着,如果我们完全不懂Groovy的语法,也可以按Java的语法来写Groovy代码。 这对于Java工程师来说是非常友好的。

不过,如果我们懂得一些Groovy的语法,那么对于Groovy的开发,会更加的方便和得心应手。以下是一些Groovy区别于Java的一些特性。

在这里插入图片描述

2. def类型推断

在 Groovy 编程语言中,def 关键字是一个非常灵活的声明符,它用于定义变量、方法或属性,并且允许类型推断。使用 def 时,编译器会根据所赋值的对象自动确定变量的类型,因此开发者不需要显式地指定变量的类型。

2.1 变量定义

当你使用 def 声明一个变量时,Groovy 不需要知道变量的具体类型,它可以在运行时动态地决定变量的类型。

def a = 10 // a 将被推断为整数类型 Integer
def b = "Hello" // b 将被推断为字符串类型 String

2.2 可变类型

使用 def 定义的变量可以改变其引用的对象类型,这是因为在 Groovy 中,变量本身没有固定的类型,而是指向了一个对象。

def c = true // c 被推断为布尔类型 Boolean
c = "World" // 现在 c 变成了字符串类型

2.3 方法定义

在 Groovy 中,def 还可以用来定义方法(函数),此时方法返回的类型也是可以由编译器推断得出或者不返回任何值(void)。

def add(a, b) {return a + b
}

2.4 属性定义

在类中定义属性时,也可以使用 def,这将创建一个具有隐式 getter 和 setter 的属性,其类型同样是动态推断的。

总之,def 关键字是 Groovy 动态特性的体现,它增强了代码的简洁性和灵活性,特别是在快速开发和脚本编写场景中表现尤为突出。不过,在大型项目或需要严格类型检查的情况下,可能需要更多地考虑是否使用明确类型的变量声明来增强代码的可读性和维护性。

3. 字符串

Groovy中的字符串和java中非常相似,还可以使用单引号''

task stringTest {String str1 = "hello"var str2 = "wrold"def str3 = "!"//print(str1 + str2 + str3)println("${str1} ${str2} " + str3)
}

4. 列表

列表可以直接用[]进行定义,遍历起来也非常方便

task listTest {def list = [5, 6, 7, 8, 9]println list[0]//遍历方式一for (int data in list) {println(data)}//遍历方式二for(int i in 0..4){println(list[i])}
}

5. Map

Map也是一样的,使用[key:value]的形式定义,遍历也非常方便

task mapTest() {def map = ["name": 'heiko', "age": 18]println map["name"]map.each {println itprintln it.key + ":" + it.value}
}task method {def a = methodA(3, 5)println(a)
}

6. 方法

groovy语法当中默认将函数非空(有代码的)最后一行作为结果进行返回

def methodA(int a, int b) {//groovy语法当中默认将函数非空(有代码的)最后一行作为结果进行返回a + b
}

7. 类

类的使用和Java中几乎一样

class Student {private String nameprivate int ageprivate String getName() {return name}private int getAge() {return age}private void setName(String name) {this.name = name}private void setAge(int age) {this.age = age}@OverrideString toString() {return "Student{" +"name='" + name + '\'' +", age=" + age +'}';}
}task classTest() {Student student = new Student()student.name = "heiko"student.age = 20println(student)student.setName("XXX")student.setAge(21)println(student)
}

8. 闭包

本质是一个开放的、匿名的代码块,它可以接受参数、也可以有返回值。
可以认为闭包是一个匿名的接口或类。

8.1 语法

闭包的参数可以是0个、1个或多个

{ [params ->] //具体代码
}

Groovy大括号{}是闭包,小括号()是可以省略的,默认是带有小括号的,但是Groovy因为是糖果语法可以省略小括号
闭包{} 只针对{} 区域内有效。

8.2 一个最简单的闭包

def myClosure = {println("running start...")println("running end...")
}//调用闭包方式一
myClosure() 
//调用闭包方式二
myClosure.call()

9. 示例 : 使用groovy语法读取一个文件 : .properties文件

def getUrlPath(String buildType) {def urlProperties properties = new Properties()def proFile = file("src/main/filters/" + buildType + "/config.properties")if (proFile.canRead()) {properties.load(new FileInputStream(proFile))if (properties != null) {url = properties["SERVER2"]}}url
}

9. Gradle相关的其他文章

Android Gradle开发与应用 (一) : Gradle基础
Android Gradle开发与应用 (二) : Groovy基础语法
Android Gradle插件开发_实现自动复制文件插件

http://www.mmbaike.com/news/108625.html

相关文章:

  • 男生跟男生做口视频网站公众号seo排名优化
  • 专业手机网站建设公司排名成都建设网官网
  • 静态网站教程小广告怎么能弄干净
  • wordpress如何修改网页北京seo公司助力网络营销
  • wordpress集成微信支付短视频seo推广
  • python做网站有什么优势广州线下培训机构停课
  • 建网站做站长seo项目优化案例分析文档
  • 可以免费做会计题的网站简单制作html静态网页
  • 网站建设终身不用维护深圳网络推广网站
  • 新手学网站建设解疑与技巧1200例湖南关键词优化品牌价格
  • 网站流量数据分析关键词在线播放免费
  • 网站屏幕自适应岳阳seo快速排名
  • 做消防哪些网站找工作精准ip地址查询工具
  • 博客可以放自己做的网站拼多多运营
  • 佛山网站设计案例北京seo关键词排名优化软件
  • 网站建设技术分为哪些方向太原网站制作优化seo
  • 全国免费发布广告信息平台枫林seo工具
  • 信息类网站有哪些今天新疆新闻头条
  • 建设电子商城网站杭州seo博客
  • 滚屏网站模板seo最新
  • wordpress ftp验证网站seo诊断报告怎么写
  • 网站建设开发价格高吗网站alexa排名
  • 网页制作与网站建设宝典 pdf可以免费打开网站的软件
  • 阿克苏网站建设价格交换链接营销的典型案例
  • 软件开发是什么职业广州关键词优化外包
  • c2c网站开发策划免费的企业黄页网站
  • 酒店找人做网站网站如何进行优化
  • 大安市建设局网站网建
  • 国内设计好的网站案例关键字排名查询
  • 做学校网站的目的是什么seo