注解:添加到程序源代码中的结构化信息,易于机器处理
把需要传递给工具的指令标示在源代码中提供对工具的支持
meta-programming
1 文档生成器可以得到指示,把某些方法在文档中标记为废除
2 排版打印器可以得到指示,跳过已经被仔细手工格式化的程序
3 未关闭文件检查器可以得到指示,忽略被人工验证关闭的特定文件
4 副作用检查器可以得到指示,验证指定的方法是否有副作用
注解语法
1 @ val var def class object trait type
2 @expr (e: @unchecked) match{}
3 @annot(exp1, exp2...){val name1 = const1, val name...}
https://docs.scala-lang.org/overviews/scaladoc/for-library-authors.html
https://docs.scala-lang.org/style/scaladoc.html