日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程资源 > 编程问答 >内容正文

编程问答

【Groovy】闭包 Closure ( 闭包参数列表规则 | 默认参数列表 | 不接收参数 | 接收自定义参数 )

發布時間:2025/6/17 编程问答 26 豆豆
生活随笔 收集整理的這篇文章主要介紹了 【Groovy】闭包 Closure ( 闭包参数列表规则 | 默认参数列表 | 不接收参数 | 接收自定义参数 ) 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

文章目錄

  • 一、閉包參數列表
  • 二、閉包參數列表代碼示例





一、閉包參數列表



閉包的參數設置有如下情況 :

  • 不接收參數 : 如果在定義閉包時 , 只寫了 " -> " 符號 , 沒有定義參數列表 , 表明該閉包 不希望接收任何參數 , 傳入參數就會報錯 ;
  • 默認參數列表 : 如果在定義閉包時 , 沒有寫 " -> " 符號 , 也 沒有定義參數列表 , 閉包可以 接收一個默認參數 it ;
  • 接收自定義參數 : 如果在定義閉包時 , 寫了 " -> " 符號 , 并且 定義參數列表 , 閉包 必須按照參數列表傳入參數 ;

如果只使用了 " -> " 符號 , 沒有定義參數列表 , 仍然向閉包中傳入參數的話 , 在運行時會報錯 , 參考 【錯誤記錄】Groovy 運行報錯 ( Exception in thread “main“ groovy.lang.MissingMethodException: No signature of ) 博客 ;





二、閉包參數列表代碼示例



代碼示例 :

import org.codehaus.groovy.ant.Groovyclass Test {static void main(args) {// I. 接收默認一個參數的變薄// 定義閉包變量def closure = {println "Accept One Arguments : ${it}"}// 調用閉包closure.call("Hello");closure("Hello");// II. 不接收任何參數的閉包// 定義閉包變量 , 不允許傳入參數def closure2 = { ->println "Not Accept Arguments"}// 傳入參數會報錯//closure2("Hello")// 調用閉包 , 不能傳入參數closure2.call();closure2();// III. 接收一個自定義參數的閉包// 定義閉包變量 , 聲明一個參數 adef closure3 = { a ->println "${a}"}// 調用閉包 , 不能傳入參數closure3.call(1);closure3(2);// IV. 接收兩個自定義參數的閉包// 定義閉包變量 , 聲明兩個參數 a, b// 在閉包中打印這兩個參數def closure4 = { a, b ->println "${a} : $"}// 調用閉包 , 不能傳入參數closure4.call(1, 2);closure4(3, 4);// V. 為閉包參數指定默認值// 定義閉包變量 , 聲明兩個參數 a, b// 并為閉包指定默認值def closure5 = { a = 0, b = "Groovy" ->println "${a} : $"}// 閉包有默認值 , 調用時可以不傳入參數closure5()} }

執行結果 :

Accept One Arguments : Hello Accept One Arguments : Hello Not Accept Arguments Not Accept Arguments 1 2 1 : 2 3 : 4 0 : Groovy

總結

以上是生活随笔為你收集整理的【Groovy】闭包 Closure ( 闭包参数列表规则 | 默认参数列表 | 不接收参数 | 接收自定义参数 )的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。