3. 核心语法详解
数据类型与变量
概述
在仓颉编程语言中,数据类型和变量是构建程序的基础。理解仓颉语言的数据类型和变量声明方式,是掌握其核心语法的第一步。仓颉语言提供了丰富的数据类型,支持静态类型检查,同时也允许动态类型推断,以提升开发效率。
基本数据类型
仓颉语言支持以下基本数据类型:
整数类型
int:32位有符号整数。long:64位有符号整数。uint:32位无符号整数。ulong:64位无符号整数。
浮点数类型
float:32位单精度浮点数。double:64位双精度浮点数。
布尔类型
bool:表示真(true)或假(false)。
字符类型
char:表示单个Unicode字符。
字符串类型
string:表示一串Unicode字符序列。
复合数据类型
仓颉语言还支持以下复合数据类型:
数组
- 数组是相同类型元素的集合,支持动态大小和静态大小声明。
- 示例:
int[] numbers = [1, 2, 3, 4];
元组
- 元组是固定大小的异构数据集合。
- 示例:
(int, string) person = (25, "Alice");
结构体
- 结构体是用户自定义的复合数据类型,用于封装多个字段。
- 示例:
struct Person { string name; int age; }
变量声明与初始化
在仓颉语言中,变量声明使用关键字 let 或 var,具体取决于是否需要类型推断。
显式类型声明
- 使用
let关键字显式声明变量类型。 - 示例:
let int age = 25;
- 使用
类型推断
- 使用
var关键字让编译器自动推断变量类型。 - 示例:
var name = "Alice";
- 使用
常量声明
- 使用
const关键字声明不可变的常量。 - 示例:
const double PI = 3.14159;
- 使用
变量的作用域与生命周期
局部变量
- 在函数或代码块内声明的变量,作用域仅限于该函数或代码块。
全局变量
- 在模块或文件顶层声明的变量,作用域为整个模块。
生命周期
- 变量的生命周期由其作用域决定,局部变量在离开作用域后会被自动销毁。
类型转换与类型检查
隐式类型转换
- 仓颉语言支持某些类型的隐式转换,例如从
int到double。
- 仓颉语言支持某些类型的隐式转换,例如从
显式类型转换
- 使用强制类型转换操作符进行显式转换。
- 示例:
double result = (double) intValue / 2;
类型检查
- 使用
is和as关键字进行类型检查与转换。 - 示例:
if (value is int) { let intValue = value as int; }
- 使用
示例代码
以下是一个简单的示例,展示了仓颉语言中数据类型与变量的使用:
let int age = 25;
var name = "Alice";
const double PI = 3.14159;
struct Person {
string name;
int age;
}
let Person person = { name: "Bob", age: 30 };
总结
数据类型与变量是仓颉编程语言的核心组成部分。通过掌握基本数据类型、复合数据类型、变量声明与初始化、作用域与生命周期以及类型转换与检查,开发者可以更高效地编写仓颉程序。在后续章节中,我们将进一步探讨操作符、控制流等核心语法内容。
