跳转到内容

String 和 Bytes

String 是 UTF-8 文本值。Bytes 是不可变二进制 buffer。Vela 明确区分两者,让文本 API 和二进制 API 在宿主边界和标准库契约中保持清晰。

普通字符串使用 "...",多行字符串使用 """...""",插值字符串必须显式加 f 前缀。普通字符串不会插值。

fn greeting(name: String) -> String {
return f"hello {name}"
}
fn template() -> String {
return """
line one
line two
"""
}

String 方法覆盖谓词、转换、查找、split、parse helper 和显式遍历。len()find()slice(start, end) 使用 byte index;chars() 是 UTF-8 字符遍历。

fn parse_count(text: String) {
return text.trim().parse_i64()
}

Byte string 使用 b"..."。索引 bytes 值会得到 u8。Byte API 应使用显式 endian helper,而不是宿主 endian 读取。

fn first_byte(packet: Bytes) -> u8 {
return packet[0]
}

String 和 bytes 都是堆上的运行时值。宿主 API 应明确声明它需要文本还是二进制数据;Vela 不会在两者之间静默转换。