当前位置:网站首页>[groovy] closure (closure parameter list rule | default parameter list | do not receive parameters | receive custom parameters)
[groovy] closure (closure parameter list rule | default parameter list | do not receive parameters | receive custom parameters)
2022-07-05 04:40:00 【Programmer community】
One 、 Closure parameter list
The parameter settings of closures are as follows :
- Do not receive parameters : If when defining closures , Only written. " -> " Symbol , There is no parameter list defined , Indicates the closure Do not want to receive any parameters , The incoming parameter will report an error ;
- Default parameter list : If when defining closures , Didn't write " -> " Symbol , also There is no parameter list defined , Closure is OK Receive a default parameter it ;
- Receive custom parameters : If when defining closures , Yes " -> " Symbol , also Define parameter list , Closure Parameters must be passed in according to the parameter list ;
If only " -> " Symbol , There is no parameter list defined , If you still pass parameters into the closure , An error will be reported at run time , Reference resources 【 Error log 】Groovy Operation error reporting ( Exception in thread “main“ groovy.lang.MissingMethodException: No signature of ) Blog ;

Two 、 Closure parameter list code example
Code example :
import org.codehaus.groovy.ant.Groovyclass Test {
static void main(args) {
// I. Receive the thinning of a default parameter // Define closure variables def closure = {
println "Accept One Arguments : ${it}" } // Call closure closure.call("Hello"); closure("Hello"); // II. A closure that does not accept any parameters // Define closure variables , Parameters are not allowed to be passed in def closure2 = {
-> println "Not Accept Arguments" } // An error will be reported when the parameter is passed in //closure2("Hello") // Call closure , Cannot pass in parameters closure2.call(); closure2(); // III. Receive a closure of a custom parameter // Define closure variables , Declare a parameter a def closure3 = {
a -> println "${a}" } // Call closure , Cannot pass in parameters closure3.call(1); closure3(2); // IV. Receive the closure of two custom parameters // Define closure variables , Declare two parameters a, b // Print these two parameters in the closure def closure4 = {
a, b -> println "${a} : ${b}" } // Call closure , Cannot pass in parameters closure4.call(1, 2); closure4(3, 4); // V. Specify default values for closure parameters // Define closure variables , Declare two parameters a, b // And specify the default value for the closure def closure5 = {
a = 0, b = "Groovy" -> println "${a} : ${b}" } // Closures have default values , You can call without passing in parameters closure5() }}Execution results :
Accept One Arguments : HelloAccept One Arguments : HelloNot Accept ArgumentsNot Accept Arguments121 : 23 : 40 : Groovy
边栏推荐
- Function template
- Debug insights
- 自动语音识别(ASR)研究综述
- Flutter tips: various fancy nesting of listview and pageview
- 这是一个不确定的时代
- 线上故障突突突?如何紧急诊断、排查与恢复
- 直播預告 | 容器服務 ACK 彈性預測最佳實踐
- Live broadcast preview | container service ack elasticity prediction best practice
- CUDA Programming atomic operation atomicadd reports error err:msb3721, return code 1
- Ffmepg usage guide
猜你喜欢

自动语音识别(ASR)研究综述

49 pictures and 26 questions explain in detail what is WiFi?
![[crampon game] MC tutorial - first day of survival](/img/81/82034c0382f545c39bd8c15f132ec7.jpg)
[crampon game] MC tutorial - first day of survival

如何优雅的获取每个分组的前几条数据

介绍汉明距离及计算示例

How to get the first few pieces of data of each group gracefully

3 minutes learn to create Google account and email detailed tutorial!

Reading and visualization of DICOM, MHD and raw files in medical imaging

Components in protective circuit

10 programming habits that web developers should develop
随机推荐
Qt蓝牙:搜索蓝牙设备的类——QBluetoothDeviceDiscoveryAgent
函數(易錯)
PR video clip (project packaging)
官宣!第三届云原生编程挑战赛正式启动!
Function (error prone)
[finebi] the process of making custom maps using finebi
Key review route of probability theory and mathematical statistics examination
A survey of automatic speech recognition (ASR) research
防护电路中的元器件
Ffmepg usage guide
10 programming habits that web developers should develop
Scope of package class package
MySQL in-depth learning - index creation and deletion, index design principles, index failure scenarios, query optimization, index push down ICP
Mxnet imports various libcudarts * so、 libcuda*. So not found
Sequence diagram of single sign on Certification Center
Invalid bound statement (not found) in idea -- problem solving
[Chongqing Guangdong education] National Open University 2047t commercial bank operation and management reference test in autumn 2018
Mode in BST (binary tree & Notes on question brushing)
windows下Redis-cluster集群搭建
[popular science] basic knowledge of thermal design: heat dissipation analysis of 5g optical devices