1.2.1 什么是注释?
注释是写给人类看的说明文字,编译器会完全忽略它。你可以用注释来解释代码的作用、标注注意事项,或者临时"关掉"某段代码。
💡TIP
养成写注释的好习惯——未来的你和你的小伙伴会感谢现在的你。
1.2.2 单行注释
以 // 开头,从 // 到行末的内容都是注释,不会被执行。
Cangjie
let age = 18 // 这是单行注释,解释这行代码的含义
// 这整行都是注释,不会被执行
let 名字 = "仓颉" // 变量名用中文也没问题
ℹ️NOTE
// 只能注释掉它后面的同一行内容,换行后就失效了。
1.2.3 多行注释
用 /* 和 */ 包裹,中间的内容全部是注释,可以跨多行。
Cangjie
/*
这是一段多行注释
可以写很多行
编译器会忽略这里的所有内容
*/
let score = 100
也可以写在代码中间(不推荐,但语法合法):
Cangjie
let x = /* 中间插个注释 */ 42
多行注释支持嵌套
仓颉的多行注释支持嵌套,即注释里面还可以再写注释:
Cangjie
/*
外层注释开始
/*
内层注释,也是合法的
*/
外层注释继续
*/
let result = 1 + 1
1.2.4 文档注释
仓颉也支持文档注释(/** */),用于为函数、类等生成文档说明。不过LSP 并不会区分文档注释和普通注释,其行为与多行注释一致。
Cangjie
/**
* 这是一个文档注释,用于描述下方函数的作用
*/
func hello() {
println("Hello")
}
1.2.5 注释的常见用途
| 用途 | 示例 |
|---|---|
| 解释代码逻辑 | // 计算最终价格,含 8% 税 |
| 标注待办事项 | // TODO: 后续优化性能 |
| 临时禁用代码 | // let debug = true |
| 版权/文件头说明 | /* 作者:xxx 日期:2026-06-24 */ |
1.2.6 常见问题
Q1:注释会影响程序的运行速度吗?
完全不会!编译器在编译时会忽略所有注释,生成的程序中不包含任何注释内容。所以无论写多少注释,程序运行速度都一样。
Q2:代码里写着 `// TODO:` 是什么意思?
TODO 是一种约定俗成的标记,表示"这里还有事情没做完,以后回来补"。很多编辑器会高亮显示 TODO,方便你快速找到未完成的地方。
Q3:不写注释会怎样?
代码依然可以正常运行。但是——几周后你回来看自己写的代码,可能会想:"这代码是啥意思?我当时在想什么?" 写注释本质上是在帮未来的自己。
