Grails 第一课

package helloworld

import org.junit.*;
import java.util.*;

class HelloController {

    def index() { 
    	    //def grailsVersion = grailsApplication.metadata['app.grails.version'];
          //render "Hello World!"+grailsVersion;
          //render grailsVersion;
          //def mySet = false;
          //def mySet = Boolean.FALSE;
          //if(mySet){
               //render "true";
          //}else{
          	   //render "false";
          //}
          //String str = null;
          //assert str_ = = null;
          //render "Hello world it is"+new java.util.Date() + grailsVersion;
          //String str = null;
          //assert str1 == null;

          
          //Groovy基本语法
          //int i = 123 + 45 *67;
          //render i+"<BR>";
          //def x = new java.util.Date();
          //render x; //不能直接跟字符串,可能是数据类型问题
          //render "<BR>";
          //Boolean y = false;
          //render y+"<BR>";


          //List和Maps
          //List myList = [1776, -1, 33, 99, 0, 928734928763];


          //Groovy语法简介

          //1 没有类型的java
              //仅仅要求变量名前使用关键字def(groovy jsr 1开始,在以前的版本中,甚至连def都不需要)
              def var = "hello world";
              render var+"<BR>";
              render var.class; //查看变量的类型
              //对象输出后面不能跟+号字符链接符号
              //作为例外,方法参数和循环变量的声明不需要def
          //2 不需要的public
          //3 不需要的语句结束符
          //4 字符串链接符
               def var2 = "hello world groovy!";
               render "<BR>"+var2+"<BR>";    
          //5 一切皆有对象
              def var3 = "hello "+
                         "world"+
                         ", groovy!";
              render var3+"<BR>";
              render var3.class;
              render "<BR>";
              var3 = 1001;
              render "<BR>重新赋值后的类型:";
              render var3.class;     
          //6 循环
              //def var4 = "hello "+ "world "+", groovy!";
              //def repeat(val){
                  //for(i=0; i<5; i++){
                    //render val+"<BR>";
                  //}
              //}          
              //repeat(var4);
              //这样直接循环错误哦

          //7 String和Gstring
              def i=22;
              def val4="xlc";
              //render "this is ${$val4}:${i}";  不支持了
              render "<BR>this is "+val4+":"+i+"<BR>";  

          //8 范围
              def j=22;
              for (jj in 0..<5){
                 render jj;
              }
              //render "<BR><BR>";
              //不成功
              //for(jjj in a..<e){
                  //render jjj;
              //}
          //9 默认参数值
              /*def repet(val, repeat=3){
                  for(i in 0..<repeat){
                     render "this is ....";
                  }
              }*/
              //这个例子肯定运行不了
          //10 集合
              //Groovy支持最常见的两个java集合,java.util.Collection和java.util.Map
              //前面所说的范围实际也是集合的一种java.util.List
              //(1)Collection
                   //添加
                   def collect = ["a","b","c"];  
                   collect.add(1);
                   collect<<"come on";
                   collect[collect.size()]=100.0;
                   //输出
                   render collect[0]+"<BR>";
                   render collect[collect.size()-1]+"<BR>";
                   render collect.size();
                   for(i=0; i<collect.size(); i++){
                      render i+":"+collect[i]+"<BR>";
                   }
                   //groovy支持负索引
                   render "-1:"+collect[-1]+"<BR>"; //索引其倒数第1个元素
                   render "-2:"+collect[-2]+"<BR>"; //索引其倒数第2个元素

                   //collection支持集合运算
                   collect = collect + 5;
                   render collect[collect.size()-1]+"<BR>";
                   collect = collect-'a';
                   render collect[0];

                   //同样的,你可以往集合中添加另一个集合或删除一个集合
                   collect = collect-collect[0..4]; //把集合的前5个元素去掉
                   render collect[0]+"<BR>"; //现在集合中仅有一个元素,即原来的最后一个元素
                   render collect[-1]+"<BR>"; //也可以用负索引,证明最后一个元素就是第一个元素
    }
}

  地址: http://blog.csdn.net/kmyhy/article/details/4200563

你可能感兴趣的:(grails)