检查参数是否是sui-move中的文字字符串



我想检查结构中的字段: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(

相关内容

  • 没有找到相关文章

最新更新