我一直在研究 ziglings,在上一个练习 (#107) 中,我必须将切片初始化为填充有“A”的 64 个字符数组。就这么多就好了。问题是这些值必须是可变的,以便我可以从文件中读取它。
我试过这个:
const content: []u8 = &[_]u8 {'A'} ** 64;
但我似乎无法生成可变的数组,并且出现错误
expected type '[]u8', but found'*const [64]u8' note: cast discards const qualifier
我想出的唯一有效的办法就是这个混乱:
var array: [64]u8 = undefined;
const content = array[0..array.len];
for (0..content.len) |i| {
content[i] = 'A';
}
但是这个练习似乎暗示有一种方法可以在一行中完成它,使用
**
运算符来生成数组。有谁知道如何做到这一点?我已经浏览了之前的练习和文档,但我无法弄清楚。