Groovy用户指南(7)

王朝java/jsp·作者佚名  2006-01-09
窄屏简体版  字體: |||超大  

7、逻辑分支

(1)if-else语句

l Groovy提供Java相同的if-else语句

x = false

y = false

if ( !x ) {

x = true

}

assert x == true

if ( x ) {

x = false

} else {

y = true

}

assert x == y

l Groovy也支持三元操作符

y = 5

x = (y > 1) ? "worked" : "failed"

assert x == "worked"

(2)switch语句

l Groovy的switch语句兼容Java代码,不同之处在于Groovy的switch语句能够处理各种类型的switch值,可以做各种类型的匹配

Ø case值为类名匹配switch值为类实例

Ø case值为正则表达式匹配switch值的字符串匹配该正则表达式

Ø case值为集合匹配switch值包含在集合中,这包括ranges

Ø 除了上面的,case值与switch值相等才匹配

x = 1.23

result = ""

switch ( x ) {

case "foo":

result = "found foo"

// lets fall through

case "bar":

result += "bar"

case [4, 5, 6, 'inList']:

result = "list"

break

case 12..30:

result = "range"

break

case Integer:

result = "integer"

break

case Number:

result = "number"

break

default:

result = "default"

}

assert result == "number"

l switch语句的工作原理:switch语句在做匹配case值时调用isCase(switchValue)方法,缺省调用equals(switchValue),但是已经被重载成各种类型,如类,正则表达式、集合等等

l 可以创建自定义的匹配类,增加isCase(switchValue)方法来提供自定义的匹配类型

 
 
 
免责声明:本文为网络用户发布,其观点仅代表作者个人观点,与本站无关,本站仅提供信息存储服务。文中陈述内容未经本站证实,其真实性、完整性、及时性本站不作任何保证或承诺,请读者仅作参考,并请自行核实相关内容。
 
 
© 2005- 王朝網路 版權所有 導航