我想检查结构中的字段:string::string是否是正确的字符串。
struct A has key, store {
id: UID,
field: string::String,
}
public entry fun is_field_hello(a: &A): bool {
a.field == 'hello'
}
这是我得到的编译器错误:
error[E01001]: invalid character
┌─ .sourcesidentities.move:89:20
│
89 │ a.field == 'hello'
│ ^ Invalid character: '''
Failed to build Move modules: "Compilation error".
如何在代码中输入字符串?
或者,我可以在矢量之间进行比较,但问题变成了如何在代码中输入文字矢量?
您应该能够执行以下操作:
public entry fun is_field_hello(a: &A): bool {
a.field == std::string::utf8(b"hello")
}
b"hello"
是包含字符串的vec<u8>[...]
的简写,然后std::string::utf8
接收vec<u8>
并返回字符串(不检查有效的UTF8(