2.1. 全局声明

一个典型的 凹语言 程序源码如下例所示:

// 版权 @2023 凹语言 作者。保留所有权利。

import "errors"

const PI = 3.1415926

global 终极问题的答案: i32

func main {
    终极问题的答案 = getAnswer()
    println("宇宙的答案:", 终极问题的答案)
    println("π:", PI)

    err := errors.New("!!!")
    println("err:", err.Error())
}

func getAnswer => i32 {
    return 42
}

与很多语言类似,在 凹语言 中,双斜杠 // 后至行尾的部分为注释,不产生实际作用。

凹代码由全局声明组成,比如在上面的例子中:

  • import "errors" 是一个导入 errors 模块的声明
  • const PI = 3.1415926 是一个常量声明,它声明了一个名为 PI 的常量,值为 3.1415926
  • global 终极问题的答案: i32 是一个全局变量声明,它声明了一个名为 终极问题的答案 的全局变量,类型为32位整数
  • func getAnswer => i32 {...} 是一个函数声明,它声明了一个返回值为32位整数的函数

凹语言 共有5种全局声明,每种声明均由特定的关键字开始(其后跟随该声明对象的实体),声明及对应关键字的关系如下:

  • global :全局变量声明
  • func :函数声明
  • const :常量声明
  • import :导入声明
  • type :类型声明

本章接下来的小节将依次简介全局变量声明、函数声明、常量声明、导入声明,类型声明将在第6章单独讲解。