创建一个带有字符串参数的结构体
我只想创建一个带有变量字符串(utf-8 文本)的结构。
const Person = struct {
name: [_]u8,
};
是否可以?或者我必须设置字符串的最大长度(例如 name: [255]u8;
)?当我传递给编译器时,它说:
person.zig:5:12: error: unable to infer array size
name: [_]u8,
无论如何,我想念本机字符串类型,而不是必须处理字节。有相关的图书馆吗?
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(1)
您可能正在寻找切片类型:
[]u8
或[]const u8
。切片类型包含一个指针和一个长度,因此该结构实际上并不直接保存字符串的内存,而是保存在其他地方。 https://ziglang.org/documentation/0.9.1/#Slices有一些用于 zig 的字符串库,但这取决于您具体要寻找的功能。如果您正在寻找字符串连接和格式化,您可能可以使用zig的内置ArrayList
如果您正在寻找诸如字符串规范化之类的unicode函数,您可以使用像之字形
You might be looking for a slice type:
[]u8
or[]const u8
. A slice type contains a pointer and a length, so the struct does not actually directly hold the string's memory, it is held somewhere else. https://ziglang.org/documentation/0.9.1/#SlicesThere are some string libraries for zig, but this depends on what features specifically you are looking for. If you are looking for string concatenation and formatting, you can probably use zig's builtin ArrayList
If you are looking for unicode functions like string normalization, you can use a library like Ziglyph