1+ // Groovy 示例代码 - CodeForge 代码执行环境
2+
3+ // 类定义
4+ class Person {
5+ String name
6+ int age
7+ float height
8+
9+ Person (String name , int age , float height ) {
10+ this . name = name
11+ this . age = age
12+ this . height = height
13+ }
14+
15+ void display () {
16+ println " 姓名: ${ name} , 年龄: ${ age} , 身高: ${ height} cm"
17+ }
18+
19+ String toString () {
20+ return " Person(name: ${ name} , age: ${ age} , height: ${ height} )"
21+ }
22+ }
23+
24+ // 函数定义
25+ def greetUser (name ) {
26+ println " Hello, ${ name} ! 👋"
27+ }
28+
29+ def addNumbers (a , b ) {
30+ return a + b
31+ }
32+
33+ def printList (list ) {
34+ list. each { element ->
35+ print " ${ element} "
36+ }
37+ println " "
38+ }
39+
40+ def fibonacci (n ) {
41+ if (n <= 1 ) return n
42+ return fibonacci(n - 1 ) + fibonacci(n - 2 )
43+ }
44+
45+ // 主程序执行
46+ println " 🎉 欢迎使用 CodeForge!"
47+ println " Welcome to CodeForge!"
48+ println " "
49+
50+ println " ========================================="
51+ println " CodeForge Groovy "
52+ println " ========================================="
53+ println " "
54+
55+ // 基本输出示例
56+ println " ✅ Groovy 运行成功! (Groovy is working!)"
57+ println " ⚡ 这是 Groovy 程序 (This is Groovy program)"
58+ println " "
59+
60+ // 变量操作
61+ def name = " CodeForge"
62+ def version = " Groovy"
63+ def number1 = 10
64+ def number2 = 20
65+ def result = addNumbers(number1, number2)
66+
67+ println " 🔢 简单计算 (Simple calculation):"
68+ println " ${ number1} + ${ number2} = ${ result} "
69+ println " "
70+
71+ // 字符串操作和插值
72+ println " 📝 字符串操作 (String operations):"
73+ println " 平台名称 (Platform): ${ name} "
74+ println " 语言版本 (Language): ${ version} "
75+ println " 完整信息 (Full info): ${ name} - ${ version} "
76+ println " "
77+
78+ // 循环示例
79+ println " 🔄 循环输出 (Loop output):"
80+ (1 .. 5 ). each { i ->
81+ println " 第 ${ i} 次输出 (Output #${ i} ): Hello from CodeForge!"
82+ }
83+ println " "
84+
85+ // 列表示例
86+ println " 🍎 列表示例 (List example):"
87+ def fruits = [" 苹果" , " 香蕉" , " 橙子" , " 葡萄" ]
88+ fruits. eachWithIndex { fruit , index ->
89+ println " ${ index + 1} . ${ fruit} "
90+ }
91+ println " "
92+
93+ // 条件判断
94+ def score = 85
95+ println " 📊 成绩评估 (Score evaluation):"
96+ switch (score) {
97+ case { it >= 90 }:
98+ println " 优秀! (Excellent!)"
99+ break
100+ case { it >= 80 }:
101+ println " 良好! (Good!)"
102+ break
103+ case { it >= 60 }:
104+ println " 及格 (Pass)"
105+ break
106+ default :
107+ println " 需要努力 (Need improvement)"
108+ }
109+ println " "
110+
111+ // Groovy特有的属性访问
112+ println " 🔍 动态属性示例 (Dynamic property example):"
113+ def obj = [:]
114+ obj. dynamicProperty = " 动态值"
115+ obj. number = 42
116+ println " 动态属性: ${ obj.dynamicProperty} "
117+ println " 数字属性: ${ obj.number} "
118+ println " 对象内容: ${ obj} "
119+ println " "
120+
121+ // 函数示例
122+ println " 🎭 函数示例 (Function example):"
123+ greetUser(" CodeForge用户" )
124+ println " "
125+
126+ // 集合操作示例
127+ println " 💾 集合操作示例 (Collection operations):"
128+ def numbers = [1 , 2 , 3 , 4 , 5 ]
129+ def doubled = numbers. collect { it * 2 }
130+ def evens = numbers. findAll { it % 2 == 0 }
131+ def sum = numbers. sum()
132+
133+ println " 原始列表: ${ numbers} "
134+ println " 每个数字乘以2: ${ doubled} "
135+ println " 偶数: ${ evens} "
136+ println " 总和: ${ sum} "
137+ println " "
138+
139+ // 类和对象示例
140+ println " 👤 类和对象示例 (Class and object example):"
141+ def person = new Person (" 张三" , 25 , 175.5f )
142+ person. display()
143+ println " toString方法: ${ person} "
144+ println " "
145+
146+ // 递归示例
147+ println " 🔄 递归示例 (Recursion example):"
148+ def fib_n = 7
149+ def fib_result = fibonacci(fib_n)
150+ println " 斐波那契数列第${ fib_n} 项: ${ fib_result} "
151+ println " "
152+
153+ // 数学运算示例
154+ println " 📐 数学运算示例 (Math operations):"
155+ def angle = 45.0
156+ def radians = Math . toRadians(angle)
157+ println " sin(${ angle} °) = ${ Math.sin(radians).round(4)} "
158+ println " cos(${ angle} °) = ${ Math.cos(radians).round(4)} "
159+ println " sqrt(16) = ${ Math.sqrt(16)} "
160+ println " "
161+
162+ // 位操作示例
163+ println " 🔧 位操作示例 (Bitwise operations):"
164+ def a = 12 // 1100 in binary
165+ def b = 10 // 1010 in binary
166+ println " ${ a} & ${ b} = ${ a & b} (AND)"
167+ println " ${ a} | ${ b} = ${ a | b} (OR)"
168+ println " ${ a} ^ ${ b} = ${ a ^ b} (XOR)"
169+ println " ~${ a} = ${ ~a} (NOT)"
170+ println " "
171+
172+ // 枚举示例
173+ println " 📋 枚举示例 (Enum example):"
174+ enum Weekday {
175+ MONDAY (1 ), TUESDAY (2 ), WEDNESDAY (3 ), THURSDAY (4 ),
176+ FRIDAY (5 ), SATURDAY (6 ), SUNDAY (7 )
177+
178+ final int value
179+
180+ Weekday (int value ) {
181+ this . value = value
182+ }
183+ }
184+
185+ def today = Weekday . WEDNESDAY
186+ println " 今天是星期${ today.value} : ${ today} "
187+ println " "
188+
189+ // 闭包示例
190+ println " 🚀 闭包示例 (Closure example):"
191+ def multiplier = { x , y -> x * y }
192+ def greeter = { userName -> " Hello, ${ userName} !" }
193+ def calculator = { operation , num1 , num2 ->
194+ switch (operation) {
195+ case ' add' : return num1 + num2
196+ case ' multiply' : return num1 * num2
197+ case ' subtract' : return num1 - num2
198+ default : return 0
199+ }
200+ }
201+
202+ println " 闭包乘法 5 * 3 = ${ multiplier(5, 3)} "
203+ println " 闭包问候: ${ greeter('Groovy')} "
204+ println " 闭包计算器 (add, 10, 5) = ${ calculator('add', 10, 5)} "
205+ println " "
206+
207+ // Map操作示例
208+ println " 🗺️ Map操作示例 (Map operations):"
209+ def scores = [
210+ " 张三" : 85 ,
211+ " 李四" : 92 ,
212+ " 王五" : 78
213+ ]
214+
215+ scores. each { key , value ->
216+ println " ${ key} : ${ value} 分"
217+ }
218+
219+ def highScores = scores. findAll { key , value -> value >= 85 }
220+ println " 高分学生: ${ highScores} "
221+ println " "
222+
223+ // 正则表达式示例
224+ println " 🔍 正则表达式示例 (Regex example):"
225+ def text = " CodeForge 2025 是最好的代码执行平台!"
226+ def pattern = ~/ \d +/
227+ def matcher = text =~ pattern
228+ if (matcher) {
229+ println " 找到数字: ${ matcher[0]} "
230+ }
231+
232+ def emailPattern = ~/ \w +@\w +\.\w +/
233+ def email = " test@codeforge.com"
234+ println " 邮箱验证 '${ email} ': ${ email ==~ emailPattern} "
235+ println " "
236+
237+ // 异常处理示例
238+ println " ⚠️ 异常处理示例 (Exception handling):"
239+ try {
240+ def divisionResult = 10 / 0
241+ } catch (ArithmeticException e) {
242+ println " 捕获异常: ${ e.message} "
243+ } finally {
244+ println " finally块总是执行"
245+ }
246+ println " "
247+
248+ // 文件操作示例
249+ println " 📁 字符串操作示例 (String operations):"
250+ def multilineString = """
251+ 这是一个
252+ 多行字符串
253+ 示例
254+ """
255+ println " 多行字符串长度: ${ multilineString.trim().split('\n').size()} 行"
256+
257+ def template = " Hello \$ {userName}, welcome to \$ {platformName}!"
258+ def binding = [userName : ' User' , platformName : ' CodeForge' ]
259+ def engine = new groovy.text.SimpleTemplateEngine ()
260+ def templateResult = engine. createTemplate(template). make(binding)
261+ println " 模板结果: ${ templateResult} "
262+ println " "
263+
264+ // 元编程示例
265+ println " 🎯 元编程示例 (Metaprogramming example):"
266+ String . metaClass. reverseString = {
267+ delegate. reverse()
268+ }
269+
270+ String . metaClass. addPrefix = { prefix ->
271+ prefix + delegate
272+ }
273+
274+ def str = " CodeForge"
275+ println " 原字符串: ${ str} "
276+ println " 反转字符串: ${ str.reverseString()} "
277+ println " 添加前缀: ${ str.addPrefix('Hello ')} "
278+ println " "
279+
280+ println " 🎯 CodeForge Groovy 代码执行完成!"
281+ println " 🎯 CodeForge Groovy execution completed!"
282+ println " "
283+ println " 感谢使用 CodeForge 代码执行环境! 🚀"
284+ println " Thank you for using CodeForge! 🚀"
0 commit comments