就地字符串零终止长度变化

时间:2018-02-19 07:10:27

标签: string truncate nim

如果你在一个字符串中间设置一个charachter到'\0'len函数不会更新。这是我们应该做的事吗?正在切片推荐的方式吗?

1 个答案:

答案 0 :(得分:3)

通常,您不应将Nim字符串视为null终止。即使它们是,但这只是一个允许无缝C互操作的实现细节。

Nim字符串也是编码不可知的,这意味着'\0'可以是字符串中的有效字节。但惯例是utf8。

要更改字符串的长度,请使用setLen proc。

var s = "123456"
s.setLen(3)
assert(s == "123")