# 变量 ## 功能 变量用于给值起名字,便于后续读取、修改和传递。BT 是动态类型语言,变量可以在运行过程中重新赋值为不同类型的值。 ## 语法 ```bt name = 'Nina' age = 26 sex = 'Girl' ``` ## 命名规则 | 规则 | 说明 | | ------ | ------ | | 首字符 | 可以是小写英文字母、`_` 或 `$`,不能是数字,也不能是大写字母。 | | 后续字符 | 可以是英文字母、数字、`_` 或 `$`。 | | 大小写 | 区分大小写,`name` 和 `Name` 含义不同。 | 匹配 `[A-Z][A-Za-z0-9_]*` 的名称会被识别为常量,例如 `Name`、`Config`、`NAME`、`Name_1`。如果首字母大写但包含 `$`,例如 `User$`,会直接报错。 ## let 局部声明 `let` 用于声明当前函数内的局部变量。未初始化的变量值为 `empty`。`let` 只属于变量,不能用于声明常量。 ```bt fn demo() { let count = 1 count++ count } ``` ## 返回值 | 类型 | 说明 | | ------ | ------ | | Any | 赋值表达式返回右侧表达式的值。 | ## 代码示例 ```bt data = 'Nina' data = 26 data = true first second third println data println is_empty(first) ``` ## 注意事项 - 多条语句可以换行书写,也可以用逗号分隔。 - `first second third` 这种空值声明会把变量初始化为 `empty`。 - 变量名不能以大写字母开头;需要不可重复写入的绑定时使用常量命名规则,并直接用赋值语法定义。