W3Cschool
恭喜您成為首批注冊用戶
獲得88經(jīng)驗值獎勵
注釋是元數(shù)據(jù)的形式,其中它們提供關(guān)于不是程序本身的一部分的程序的數(shù)據(jù)。注釋對它們注釋的代碼的操作沒有直接影響。
注釋主要用于以下原因 -
編譯器信息 -編譯器可以使用注釋來檢測錯誤或抑制警告。
編譯時和部署時處理 -軟件工具可以處理注釋信息以生成代碼,XML文件等。
運行時處理 -一些注釋可以在運行時檢查。
在Groovy中,基本注釋如下所示:
@interface - at符號字符(@)向編譯器指示以下是注釋。
注釋可以以沒有主體的方法的形式和可選的默認值來定義成員。
注釋可以應用于以下類型 -
單行注釋以//開頭,并且能在行的任何位置。從//開始,到一行結(jié)束,都被認為是注釋的部分。
// a standalone single line comment
println "hello" // a comment till the end of the line
多行注釋以/*開頭,并且能在行的任何位置 。以/*開頭,包括新的行,直到第一個*/結(jié)束都被認為是注釋的部分。多行注釋可以放于聲明的開始或者聲明的中間。
/* a standalone multiline comment
spanning two lines */
println "hello" /* a multiline comment starting
at the end of a statement */
println 1 /* one */ + 2 /* two */
下面給出了字符串注釋的一個例子 -
@interface Simple { String str1() default "HelloWorld"; }
enum DayOfWeek { mon, tue, wed, thu, fri, sat, sun } @interface Scheduled { DayOfWeek dayOfWeek() }
@interface Simple {} @Simple class User { String username int age } def user = new User(username: "Joe",age:1); println(user.age); println(user.username);
使用注釋時,需要至少設置所有沒有默認值的成員。下面給出一個例子。當定義后使用注釋示例時,需要為其分配一個值。
@interface Example { int status() } @Example(status = 1)
Groovy中注釋的一個很好的特性是,你也可以使用閉包作為注釋值。因此,注釋可以與各種各樣的表達式一起使用。
下面給出一個例子。注釋Onlyif是基于類值創(chuàng)建的。然后注釋應用于兩個方法,它們基于數(shù)字變量的值向結(jié)果變量發(fā)布不同的消息。
@interface OnlyIf { Class value() } @OnlyIf({ number<=6 }) void Version6() { result << 'Number greater than 6' } @OnlyIf({ number>=6 }) void Version7() { result << 'Number greater than 6' }
這是groovy中注釋的一個非常有用的功能。有時可能有一個方法的多個注釋,如下所示。有時這可能變得麻煩有多個注釋。
@Procedure @Master class MyMasterProcedure {}
在這種情況下,您可以定義一個元注釋,它將多個注釋集中在一起,并將元注釋應用于該方法。所以對于上面的例子,你可以使用AnnotationCollector來定義注釋的集合。
import groovy.transform.AnnotationCollector @Procedure @Master @AnnotationCollector
一旦完成,您可以應用以下元注釋器到該方法 -
import groovy.transform.AnnotationCollector @Procedure @Master @AnnotationCollector @MasterProcedure class MyMasterProcedure {}
Copyright©2021 w3cschool編程獅|閩ICP備15016281號-3|閩公網(wǎng)安備35020302033924號
違法和不良信息舉報電話:173-0602-2364|舉報郵箱:jubao@eeedong.com
掃描二維碼
下載編程獅App
編程獅公眾號
聯(lián)系方式:
更多建議: