Zig 流程控制

简介: Zig 流程控制

Zig 编程语言流程控制语句通过程序设定一个或多个条件语句来设定。

在条件为 true 时执行指定程序代码,在条件为 false 时执行其他指定代码。

以下是典型的流程控制流程图:

Zig 提供了以下控制结构语句:

if 语句

语法

基本的 if 语句包含一个条件和一个与之相关联的代码块,如果条件为真(true),则执行代码块。

if (<condition) {

   // 如果 condition 为 true,执行这里的代码

}

if-else 语句在基本 if 语句的基础上增加了一个 else 分支,如果 if 中的条件为假(false),则执行 else 分支中的代码。

if (<condition>) {

   // 如果 condition 为 true,执行这里的代码

} else {

   // 如果 condition 为 false,执行这里的代码

}

condition:一个布尔表达式。如果条件为 true,则执行第一个代码块;否则执行 else 代码块。

实例

const std = @import("std");


pub fn main() void {

   const x: i32 = 10;

   if (x > 5) {

       std.debug.print("x is greater than 5\n", .{});

   } else {

       std.debug.print("x is not greater than 5\n", .{});

   }

}

编译执行输出结果为:

x is greater than 5

if-else...else 语句

语法

支持多个条件检查,按顺序检查每个条件,直到某个条件为 true 并执行相应的代码块。

实例

if (condition1) {

   // 如果 condition1 为 true,执行这里的代码

} else if (condition2) {

   // 如果 condition2 为 true,执行这里的代码

} else {

   // 如果所有条件为 false,执行这里的代码

}

实例

const std = @import("std");


pub fn main() void {

   const x: i32 = 10;

   if (x > 10) {

       std.debug.print("x is greater than 10\n", .{});

   } else if (x == 10) {

       std.debug.print("x is equal to 10\n", .{});

   } else {

       std.debug.print("x is less than 10\n", .{});

   }

}

编译执行输出结果为:

x is equal to 10

嵌套的 if-else

if-else 语句可以嵌套使用,这意味着你可以在 if 或 else 分支中再包含一个 if 语句。

if (<条件1>) {

   // 如果条件1为真,执行这里的代码

   if (<条件2>) {

       // 如果条件1和条件2都为真,执行这里的代码

   } else {

       // 如果条件1为真但条件2为假,执行这里的代码

   }

} else {

   // 如果条件1为假,执行这里的代码

}

实例

const std = @import("std");


pub fn main() void {

   const input = 5; // 假设这是用户的输入

   const max_value = 10;


   if (input > max_value) {

       std.debug.print("Input is greater than {}\n", .{max_value});

   } else if (input == max_value) {

       std.debug.print("Input is equal to {}\n", .{max_value});

   } else {

       if (input < 5) {

           std.debug.print("Input is less than 5\n");

       } else {

           std.debug.print("Input is between 5 and {}\n", .{max_value});

       }

   }

}

编译执行输出结果为:

Input is between 5 and 10


if 语句中的类型推导

Zig 编译器可以推导出 if 语句中变量的类型,如果条件表达式的结果是一个布尔值。

const condition = true;

if (condition) {

   // 这里 condition 的类型是 bool,编译器自动推导

}

目录
相关文章
|
5天前
|
编译器 Go C语言
Zig 基本语法
Zig 基本语法
16 3
|
14小时前
|
C语言
Zig 运算符
Zig 运算符
7 1
|
14小时前
|
索引
Zig 循环
Zig 循环
8 1
|
1月前
|
Serverless C语言
C语言控制语句:分支、循环和转向
C语言控制语句:分支、循环和转向
|
6月前
|
C语言 数据安全/隐私保护
C语言初阶②(分支语句和循环语句)编程练习
C语言初阶②(分支语句和循环语句)编程练习
56 1
|
6月前
编译原理-----逆波兰表示法,四元式,三元式,间接三元式
编译原理-----逆波兰表示法,四元式,三元式,间接三元式
236 0
|
6月前
leetcode代码记录(逆波兰表达式求值
leetcode代码记录(逆波兰表达式求值
38 0
|
6月前
|
C语言
C语言7🔥:条件判断 if else 语句与分支(千字总结)
C语言7🔥:条件判断 if else 语句与分支(千字总结)
63 0
探索Python条件语句的奇妙世界:解密逻辑与控制流
探索Python条件语句的奇妙世界:解密逻辑与控制流
|
C语言
C语言,跳出多层循环
对于多循环的函数,我们怎末跳出循环呢?现在讲两种方法跳出循环。关于return 跳出循环的我们之后再补充。
148 0