不同语言的注释
- //
- 最早BCPL,到C99/ObjC/C++/Java/C#/JS/Swift/Rust/Go/仓颉/PHP/Pascal/Kotlin.
- #
- Shell/Perl/Python/PHP, MySQL单行注释(其他SQL语言可能不适用)。
- /* */
- C/C++/ObjC/Java/C#/JS/Swift/Rust/Go/仓颉/PHP/SQL/Kotlin.
- """ """或''' '''
- Python块注释
- (* *)
- Pascal.
- REM 或 :: 或 % <注释> %
- Windows批处理.
- '或Rem
- VB
- <!-- -->
- HTML和XML
- --
- Ada / SQL单行注释,注意"--"后面需要有空格。
- !
- Fortran
注释/*和//的起源
- 虽然C语言以/* */作为注释,但事实上,早在PL/I语言就已经采用/*作为注释, B语言采纳PL/I的注释形式/*, 再后来C语言吸纳。// 最早是BCPL作为单行注释,后来C++也以它作为单行注释,C89并未用它,直到C99标准才吸纳//. 需要注意,编程语言理论上可以选择任何不冲突的字符作为注释符,C系语言延续/*和//只是为了兼容和省事。
注释注意事项
- 大部分编程语言单行注释是可以单独一行或者在行尾,也有例外:
- VB Rem单行注释,如不是单独语句(在单行代码后面),前面必须加冒号 : 隔开
- HTML/XML 注释不能在声明语句之前,更不能在XML属性或者元素内部。
注释和脚本标记符的优先级
对于一般的理解,似乎是注释优先,但这仅仅是想象。
- PHP语言单行注释//或#并不意味着此行后面全部是注释,php结束标记优先级更高。
<?php
echo 'hello' // this is a comment?>, really?
?>
会输出:
hello, really?
?>
文档注释
- C# /** 注释 **/和 /// 注释 分别是多行和单行XML注释。
- Kotlin 文档注释:/** 注释 */