StdString
可以使用 StdString
类型表示可变长度的动态字符串,也称为标准库字符串或 std-lib-string
。它在大多数语言中的行为类似于动态字符串,实质上是一个字符数组。
// #import { StdString };
const stdString: StdString = 'Hello World';
const { value } = await contract.functions.string_comparison(stdString).simulate();
expect(value).toBeTruthy();
StdString
StdString
类型可以与您的合约调用集成。考虑以下可以比较并返回字符串的合约:
contract;
use std::string::String;
abi StdStringTest {
fn echo_string(value: String) -> String;
fn string_comparison(value: String) -> bool;
}
impl StdStringTest for Contract {
fn echo_string(value: String) -> String {
value
}
fn string_comparison(value: String) -> bool {
let expected = String::from_ascii_str("Hello World");
value.as_bytes() == expected.as_bytes()
}
}
可以使用原生 JavaScript 字符串来创建字符串,并发送到 Sway 合约:
// #import { StdString };
const stdString: StdString = 'Hello Fuel';
const { value } = await contract.functions.echo_string(stdString).simulate();
expect(value).toEqual(stdString);