ZIG的一些问题

这篇博客探讨了ZIG语言中导入库的元函数用法,指出其可能带来的理解难度。接着讨论了undefined类型的传播,解释了void类型的含义和使用限制。最后提到了defer机制,警告了过度使用defer可能导致的代码可读性问题,建议避免在不需要cleanup的地方使用。
摘要由CSDN通过智能技术生成

导入库的用法

在ZIG中导入库的用法是这样的:

const std = @import("std");

这个@import叫做元函数, 我们发现如果别人这样写

const xxx = @import("std");

//很多行后
//....

xxx.debug.print();

你根本不知道这行代码是什么意思

undefined的传播

如果你把类型看成是一个集合(比如int是机器整数的集合), 那么void所表示的集合是个空集, 它里面是不包含任何元素的, 声明一个void变量是没有任何意义的, 因为它不可能有一个值,如果一个函数返回void, 你是没有办法将它赋值给一个变量的。

var a: u8 = undefined;

//传播
var b = a;
....
var c = b;

defer:

ZIG实现了defer函数,用于避免在函数出错后忘记收拾残局。然而我发现这种defer函数有种被滥用的趋势, 比如, 有些人把那种不是cleanup<

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值