程序结构
入口函数 rukou
每个程序有且只有一个入口函数 rukou()(中文写法 入口()):
cpro
rukou() {
dayin("hello")
}cpro
入口() {
打印("hello")
}cpro
rukou() {
print("hello")
}- 前面不写
hs(函数/fn),不写返回类型,没有参数 - 要执行的代码都放在
rukou里
顶层只放声明
源文件顶层只允许声明,不允许直接执行语句:
cpro
daoru "io"
bl count = 0
jiegouti Person {
name leixing zifuchuan,
}
hs add(a z64, b z64) z64 {
fanhui a + b
}
rukou() {
dayin(add(1, 2))
}cpro
导入 "io"
变量 count = 0
结构体 Person {
name 类型 string,
}
函数 add(a i64, b i64) i64 {
返回 a + b
}
入口() {
打印(add(1, 2))
}cpro
import "io"
var count = 0
struct Person {
name type string,
}
fn add(a i64, b i64) i64 {
return a + b
}
rukou() {
print(add(1, 2))
}下面这些写在顶层都会报错:
cpro
1 + 2 // ✗ 裸表达式
foo() // ✗ 顶层调用
ruguo (a > 1) { } // ✗ 控制流语句cpro
1 + 2 // ✗ 裸表达式
foo() // ✗ 顶层调用
如果 (a > 1) { } // ✗ 控制流语句cpro
1 + 2 // ✗ 裸表达式
foo() // ✗ 顶层调用
if (a > 1) { } // ✗ 控制流语句格式约定
- 语句末尾的分号
;可写可不写 - 二元运算符前后写空格:
a +[z32] b - 源文件编码为 UTF-8
ruguo、dang、jishu(if、while、for)的条件必须带圆括号,代码块必须带花括号
