在Zig中,从字符串中解析整数并指定结果整数类型的最佳方法是什么?
const foo = "22";
例如,如何将foo
转换为i32
?
const foo = "22";
例如,如何将foo
转换为i32
?
const foo = "22";
const integer = try std.fmt.parseInt(i32, foo, 10);
fmt.parseInt
函数返回错误联合类型,所以在这种情况下integer
的类型不是i32
而是ParseIntError!i32
。你必须使用try
关键字来获取值的类型:const integer = try std.fmt.parseInt(i32, foo, 10);
。 - undefinedtry
而不是catch unreachable
。你只能这样做是因为你正在解析一个已知的字符串;你本可以直接写成const integer = 22;
。但是如果有人正在寻找解析数字的方法,他们很可能会遇到未知的字符串,并且需要正确处理错误。这个答案只会让他们感到困惑。 - undefined