Interested Article - Gosu
![](/images/007/295/7295527/1.jpg?rand=902729)
![](https://cdn.wafarin.com/avatars/e97abd871ea2793ffa98f430ed268c35.gif)
- 2020-06-11
- 1
Gosu — это cтатически-типизированный язык программирования, который запускается на виртуальной машине Java . Этот язык используется в нескольких проектах с открытым исходным кодом SparkGS и Ragnar DB, и широко используется в страховой отрасли в коммерческих продуктах Guidewire Software. Язык вобрал в себя возможности языков Java , C# и ECMAScript . Уникальной особенностью языка, является открытая система типов, которая позволяет легко обеспечить проверку во время компиляции или в IDE. Также язык позволяет создавать как программы общего назначения (файлы .gst), так и скрипты (.gsp-файлы) и выполнять их непосредственно из источника без предварительной компиляции.
Синтаксис
Gosu имеет C-style синтаксис.
Простейшая программа Hello World на Gosu.
class Main {
static function main(args: String[]) {
print("Hello, World!")
// или проще
"Hello, World!".print()
}
}
// второй вариант работает, только если добавлен
enhancement MyStringEnhancement : String {
function print() { print(this) }
}
Пользуясь методами и лямбдами очень легко работать с контейнерными объектами.
var list = {1, 2, 3}
var result = list.where(\elem -> elem >= 2)
print(result)
Классы Gosu могут иметь функции, поля, свойства и внутренние классы в качестве членов. Номинальное наследование и композиция с помощью делегирования встроены в систему типов, а также структурную типизацию. В дополнение к стандартным типам классов Gosu поддерживает перечисления, интерфейсы, структуры и аннотации.
![](https://cdn.wafarin.com/avatars/e97abd871ea2793ffa98f430ed268c35.gif)
- 2020-06-11
- 1