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 oneline 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 不会在两者之间静默转换。