zig-learn/variable/variable.md

48 lines
1.5 KiB
Markdown
Raw Permalink Normal View History

# 变量
## 变量声明
变量声明是声明变量并为其赋值的过程。在zig语言中变量声明使用关键字`var`,后跟变量名, 变量类型和初始值。
```zig
var variable_name: variable_type = initial_value;
```
例如,声明一个名为`hello`的变量,类型为`[]const u8`,初始值为`""`
```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;
```
例如,声明一个名为`hello`的常量,类型为`[]const u8`,初始值为`""`
```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"});
```