groovy学习

因为公司最近在做CI的东西,需要用到grovvy来做支撑,所以要学习groovy了,还是从基础的教程摘起,这次是 w3school的grovvy的教程,

安装

mac安装: brew install groovy
进入命令行模式

groovysh

基本语法

注释

单行注释使用//在该行的任何位置来识别。一个例子如下所示 -
class Example {
   static void main(String[] args) {
      // Using a simple println statement to print output to the console
      println('Hello World');
   }
}
多行注释标识与在开始/ *和* /识别多行注释的末尾。

class Example {
   static void main(String[] args) {
      /* This program is the first program
      This program shows how to display hello world */
      println('Hello World');
   }
}

分号

就像Java编程语言,它需要具有分号在Groovy定义多个语句之间进行区分。

class Example {
   static void main(String[] args) {
      // One can see the use of a semi-colon after each statement
      def x = 5;
      println('Hello World');  
   }
}

上述例子示出了分号使用了不同行的代码语句之间进行区分。

身份标识

标识符被用来定义变量,函数或其他用户定义的变量。标识符以字母开头,美元或下划线。他们不能以数字开头。以下是有效标识符的一些例子

def employeename 
def student1 
def student_name

其中,DEF是在Groovy用来定义标识符的关键字。

下面是一个如何在我们的Hello World程序中使用标识符的代码示例。

class Example {
    static void main(String[] args){
    def x = 5;
    println('Hello world');
    println(x);
    }
}

在上述的例子中,变量x被用作标识符。

变量

class Example { 
   static void main(String[] args) { 
      // x is defined as a variable 
      String x = "Hello";
      int x = 5;
      
      // Defining a variable in uppercase  
      int X = 6; 

      // The value of the variable is printed to the console 
      println(x);
   }
}

大小写是区分的 不同的参数
当我们运行上面的程序,我们会得到以下结果 -

Hello

运算符

范围运算

def range = 0..5 
println(range)

#输出
[0, 1, 2, 3, 4, 5, 6]

循环

  • while语句
    while语句首先通过计算条件表达式(布尔值)来执行,如果结果为真,则执行while循环中的语句。
      while(count<5) {
         println(count);
         count++;
      }
  • 2 for语句
    for语句用于遍历一组值。
      for(int i = 0;i<5;i++) {
         println(i);
      }
  • 3 for-in语句
    for-in语句用于遍历一组值。
      int[] array = [0,1,2,3]; 
        
      for(int i in array) { 
         println(i); 
      } 

循环控制语句

  • break语句
    break语句用于改变循环和switch语句内的控制流。
      for(int i in array) {
         println(i);
         if(i == 2)
         break;
      }
  • continue语句
    continue语句补充了break语句。它的使用仅限于while和for循环。
for(int i in array) {
         println(i);
         if(i == 2)
         continue;
      }

条件语句

  • if else / if
  • switch
switch(expression) { 
   case expression #1: 
   statement #1 
   ... 
   case expression #2: 
   statement #2 
   ... 
   case expression #N: 
   statement #N 
   ... 
   default:
   statement #Default 
   ... 
} 

Groovy 方法

Groovy中的方法是使用返回类型或使用def关键字定义的。方法可以接收任意数量的参数。定义参数时,不必显式定义类型。可以添加修饰符,如public,private和protected。默认情况下,如果未提供可见性修饰符,则该方法为public。

最简单的方法是没有参数的方法,如下所示:

def methodName() { 
   //Method code 
}

下面是一个简单方法的例子

class Example {
   static def DisplayName() {
      println("This is how methods work in groovy");
      println("This is an example of a simple method");
   } 
    
   static void main(String[] args) {
      DisplayName();
   } 
}

在上面的例子中,DisplayName是一个简单的方法,它由两个println语句组成,用于向控制台输出一些文本。在我们的静态main方法中,我们只是调用DisplayName方法。上述方法的输出将是 -

This is how methods work in groovy 
This is an example of a simple method

方法参数

def methodName(parameter1, parameter2, parameter3) { 
   // Method code goes here 
}

//ex
static void sum(int a,int b) {
      int c = a+b;
      println(c);
   }  

默认参数

   static void sum(int a,int b = 5) { 
      int c = a+b; 
      println(c); 
   }

带有返回值

class Example {
   static void sum(int a,int b = 5) {
      int c = a+b;
      return c;
   } 
    
   static void main(String[] args) {
      println(sum(6));
   } 
}

列表

示例

[11,12,13,14] - 整数值列表
['Angular','Groovy','Java'] - 字符串列表
[1,2,[3,4],5] - 嵌套列表
['Groovy',21,2.11] - 异构的对象引用列表
[] - 一个空列表

包含方法

映射

['TopicName':'Lists','TopicName':'Maps'] - 具有TopicName作为键的键值对的集合及其相应的值。

[:] - 空映射。

包含方法

你可能感兴趣的:(groovy学习)