Skip to content

程序结构 ​

入口函数 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) { }     // ✗ 控制流语句

格式约定 ​

  1. 语句末尾的分号 ; 可写可不写
  2. 二元运算符前后写空格:a +[z32] b
  3. 源文件编码为 UTF-8
  4. ruguo、dang、jishu(if、while、for)的条件必须带圆括号,代码块必须带花括号

cpro 目前处于测试阶段