Groovy — яке аз забонҳои барноманависӣ мебошад.

Groovy
Таърихи таъсис 2003
Логотип
Нигора
Пазируфтаи асари Python, Java[d], Руби, Перл ва Smalltalk
Парадигми барноманависӣ барноманависии шайъгаро, functional programming[d], imperative programming[d] ва multi-paradigm programming[d]
Тавсеъадиҳанда Java Community Process[d] ва Apache Software Foundation[d]
Тарроҳ James Strachan[d]
Систем-омил cross-platform[d]
Забони барноманависӣ Java[d][1][2]
Махзани коди манбаи репозиторӣ github.com/apache/groovy
gitbox.apache.org/repos/…
Issue tracker URL issues.apache.org/jira/b…
Вебгоҳи расмӣ groovy-lang.org(англ.)
groovy.apache.org
Иҷозатнома Apache License, Version 2.0[d] ва Apache License[d]
Ҳаққи таксир copyrighted[d]
Typing discipline dynamic typing[d], static typing[d], strong typing[d] ва duck typing[d]
Download URL groovy-lang.org/download…
Пешванди парванда .groovy[3], .gvy[3], .gsh[3] ё .gy[3]
 Парвандаҳо дар Викианбор

Groovy раванди стандартизатсияро дар Java Community Process (JSR 241) ба анҷом расонидааст.

Таърих вироиш

Соли 2020 версияи 3.0.0 бо такмилоти назаррас баромад.

 
Скриншот Groovy Console

Намуна вироиш

Классический пример вывода на печать строки с приветствием:

// Comment
print("Hello world!")

Пример создания и использования функции с аргументами и возвращаемым значением:

def helloFunction(name) {
    println("Hello, ${name}")
}
helloFunction("Groovy!")
// В следующей функции вычисления суммы двух объектов
// последнее выражение является возвращаемым значением
def sum(a, b) {
    a + b // вернет результат сложения
}
print(sum(1, 2))
// Эта функция принимает параметры только числового типа
def subtraction(double a, double b) {
    return a - b
}
print(subtraction(6, 4))

Объявление класса, создание его экземпляра и вызов его методов в главной точке входа программы (статический метод main())

class Foo {
  def doSomething() {
    def data = ["name": "James", "location": "London"]
    for (e in data) {
      println("entry ${e.key} is ${e.value}")
    }
  }
  
  def closureExample(collection) {
    collection.each { println("value ${it}") }
  }
  
  static void main(args) {
    def values = [1, 2, 3, "abc"]
    def foo = new Foo()
    foo.closureExample(values)
    foo.doSomething()
  }
}

«;» — точка с запятой в конце строки не обязательна.

Эзоҳ вироиш

Ҳамчунин нигаред вироиш

Пайвандҳо вироиш


Шаблон:Java