2024-05-15 15:51:06 +08:00
|
|
|
|
# 变量
|
|
|
|
|
|
|
|
|
|
## 变量声明
|
|
|
|
|
|
|
|
|
|
变量声明是声明变量并为其赋值的过程。在zig语言中,变量声明使用关键字`var`,后跟变量名, 变量类型和初始值。
|
|
|
|
|
|
|
|
|
|
```zig
|
|
|
|
|
var variable_name: variable_type = initial_value;
|
|
|
|
|
```
|
|
|
|
|
|
2024-05-15 22:53:00 +08:00
|
|
|
|
例如,声明一个名为`hello`的变量,类型为`[]const u8`,初始值为`""`
|
2024-05-15 15:51:06 +08:00
|
|
|
|
|
|
|
|
|
```zig
|
|
|
|
|
var hello: []const u8 = "";
|
|
|
|
|
hello = "Hello, World!";
|
|
|
|
|
|
|
|
|
|
// 输出
|
|
|
|
|
std.log.info("{s}\n", .{hello});
|
|
|
|
|
```
|
|
|
|
|
|
|
|
|
|
可以看到,我们先是声明了一个`name`,初始值为`""`,然后将`hello`赋值为`"Hello, World!"`,最后再输出hello, 那是因为zig编译器推荐使用常量。
|
|
|
|
|
|
|
|
|
|
## 常量声明
|
|
|
|
|
|
|
|
|
|
常量声明是声明一个不可变的变量,并为其赋值的过程。在zig语言中,常量声明使用关键字`const`,后跟变量名, 变量类型和初始值。
|
|
|
|
|
|
|
|
|
|
```zig
|
|
|
|
|
const variable_name: variable_type = initial_value;
|
|
|
|
|
```
|
|
|
|
|
|
2024-05-15 22:53:00 +08:00
|
|
|
|
例如,声明一个名为`hello`的常量,类型为`[]const u8`,初始值为`""`
|
2024-05-15 15:51:06 +08:00
|
|
|
|
|
|
|
|
|
```zig
|
|
|
|
|
const hello: []const u8 = "Hello, World!";
|
|
|
|
|
|
|
|
|
|
// 输出
|
|
|
|
|
std.log.info("{s}\n", .{hello});
|
|
|
|
|
```
|
|
|
|
|
|
|
|
|
|
## 变量命名
|
|
|
|
|
|
|
|
|
|
zig语言中,变量命名与其它的常见语言类似,必须以字母或下划线开头,后面可以跟任意数量的字母、数字或下划线,且不能与关键字重叠。与其它常见语言不同的是zig允许使用不符合规定的名称,但是必须用`@""`语法。
|
|
|
|
|
|
|
|
|
|
```zig
|
|
|
|
|
const @"test non compliant naming" = "Test non compliant naming of variable";
|
|
|
|
|
std.log.info("{s}\n", .{@"test non compliant naming"});
|
|
|
|
|
```
|