当前位置: 首页 > news >正文

freenom网站建设下载中国移动app免费下载安装

freenom网站建设,下载中国移动app免费下载安装,网站建设自身优势的分析,sql网站发布流程2.2「Dfinity」Candid常用文本语法指引 Why? 作为一名Dfinity Dapp后端开发者,我们在调试canister的时候经常会需要手动输入一些参数,但是经常会遇到输入格式不正确的情况,从而无法被canister正确获取。这个时候就需要看一下Can…

2.2「Dfinity」Candid常用文本语法指引

Why?

作为一名Dfinity Dapp后端开发者,我们在调试canister的时候经常会需要手动输入一些参数,但是经常会遇到输入格式不正确的情况,从而无法被canister正确获取。这个时候就需要看一下Candid文本语法的标准啦。

What?

PS:下文的类型均为candid定义的类型,虽然可以对应到Motoko的类型,但不是Motoko中的类型。

一、text类型

写法:

在text内容的两端用双引号括起来即可。

示例:
""
"Hello"
"Escaped characters: \n \r \t \\ \" \'"
"Unicode escapes: \u{2603} is ☃ and \u{221E} is ∞"
"Raw bytes (must be utf8): \E2\98\83 is also ☃"

二、blob类型

写法:

写成该形式:blob ,其中 部分是文本,内容是一系列utf8编码以及任意字符序列。

示例:
blob "\CA\FF\FE"

三、nat类型

写法:

直接书写即可。nat类型包含所有自然(非负)数字。它是无界的,可以表示任意的大数。on-wire编码是LEB128,因此小数字仍然可以高效表示。

示例:
1234
1_000_000
0xDEAD_BEEF

四、int类型

写法:

直接书写即可。整数类型包含所有整数。它是无界的,可以表示任意的小数或大数。on-wire编码是SLEB128,因此小数字仍然可以高效表示。

示例:
1234
-1234
+1234
1_000_000
-1_000_000
+1_000_000
0xDEAD_BEEF
-0xDEAD_BEEF
+0xDEAD_BEEF

五、natN和intN类型

写法:

nat8、nat16、nat32、nat64、int8、int16、int32和int64表示表示这么多位的数字,并可用于更“低级”的界面。

natN的范围是{0…2N-1},intN的范围是-2(N-1)…2^(N-1)-1。

on-wire表示正好有那么多位长。因此,对于小值,nat比nat64更节省空间。

nat8、nat16、nat32、nat64与nat的文本语法相同。

int8、int16、int32、int64与int的文本语法相同。

我们可以使用类型注释来区分不同的整数类型。

LengthSignedUnsigned
8-biti8u8
16-biti16u16
32-biti32u32
64-biti64u64
示例:
100 : nat8
-100 : int8
(42 : nat64)

六、float32和float64类型

写法:

float32和float64类型以单精度(32位)和双精度(64位)表示IEEE 754浮点数。

示例:
1245.678
+1245.678
-1_000_000.000_001
34e10
34E+10
34e-10
0xDEAD.BEEF
0xDEAD.BEEFP-10
0xDEAD.BEEFp+10

七、bool类型

写法:

直接书写即可。Bool类型是一种逻辑数据类型,只能具有true或假false值。

示例:
true
false

八、null类型

写法:

null类型是值null的类型,因此是所有opt t类型的子类型。使用variants构建枚举时,这也是惯用的选择。

示例:
null

九、vec t类型

写法:

书写形式:vet{1; 2; …}

vec类型表示矢量(序列、列表、数组)。vec t类型的值包含零值或更多t类型的值序列。

在Motoko中代表[T]数组,在Rust中,vec record { KeyType; ValueType }还可以被“翻译”为BTreeMap和HashMap。

示例:
vec {}
vec { "john@doe.com"; "john.doe@example.com" };

十、opt t类型

写法:

书写形式:opt … 或 null

opt类型可以嵌套(例如,opt opt text),值nulloption null是不同的值。

示例:
null
opt true
opt 8
opt null
opt opt "test"

十一、record类型

写法:

书写形式:record{1; 2; …}(元组) 或 record{n=t; …}

PS:元组(tuple)类型是record类型的子类型。

示例:
record {}
record { first_name = "John"; second_name = "Doe" }
record { "name with spaces" = 42; "unicode, too: ☃" = true }
record { "a"; "tuple"; null }

十二、variant类型

写法:

书写形式:variant{n=t; …}或variant{n1; n2}

示例:
variant { ok = 42 }
variant { "unicode, too: ☃" = true }
variant { fall }

十三、func(…) -> (…)类型

写法:

Candid旨在支持高阶用例,例如,服务可能会接收或提供对其他服务或其方法的引用,例如回调。Func类型是其中的核心:它表示函数的签名(参数和结果类型、注释),此类值是对具有该签名的函数的引用。

示例:
func "w7x7r-cok77-xa".hello
func "w7x7r-cok77-xa"."☃"
func "aaaaa-aa".create_canister

十四、service{…}类型

写法:

服务可能不仅要传递对单个函数(使用函数类型)的引用,还要传递对整个服务的引用。在这种情况下,Candid类型可用于声明此类服务的完整接口。

示例:
service "w7x7r-cok77-xa"
service "zwigo-aiaaa-aaaaa-qaa3a-cai"
service "aaaaa-aa"

十五、principal类型

写法:

书写形式:principal “…”

示例:
principal "w7x7r-cok77-xa"
principal "zwigo-aiaaa-aaaaa-qaa3a-cai"
principal "aaaaa-aa"
http://www.yayakq.cn/news/503176/

相关文章:

  • 什么是网站域名?主题资源网站建设步骤
  • 手机网站开发升上去怎样自己做刷赞网站
  • 企业门户网站源码下载my12777域名查询
  • 做公司自主网站网站空间多大
  • 眉山建网站佛山网站建设3lue
  • 邯郸网站设计价位求网页设计网站
  • 海西电子商务网站建设专业做短视频的公司
  • 廊坊网站制作服务网站商城开发一个多少钱
  • 中国建设监理工程协会网站桂林微信网站
  • 美业网站可做分析图的地图网站
  • 省住房与城乡建设厅网站网站建设预算知乎
  • 百度一下百度一下你知道seo网站优化系统
  • 北京市海淀区网站建设wordpress发表评论项
  • 网站建设 51下拉什么叫商城网站
  • 石家庄网站建设开发网站建设困难
  • 企业网站icp备案申请一般通过微信号添加的微信好友
  • 网站建设有什么要求济南百度推广电话
  • 深圳营销网站有限公司dw做网站的导航栏怎么做
  • 做网站需要公司资质吗广东省建设局官方网站
  • 宁德商城网站建设网站的后台是开发做的
  • 网站建设服务商 需要什么主机网推专员是做什么的
  • 潍坊网站建设优化推广wordpress做CDN后后台进不去
  • 宁化网站建设广东省建设见证员网站
  • 济南正规网站制作品牌html博客网页完整代码
  • 网站设计酷站个人网站的制作步骤
  • 网站模板含数据库下载企业网站建立意义何在
  • 苏州木渎做网站公司国家企业信用信息查询系统
  • 西安网站设计开发网站怎么做移动图片不显示不出来吗
  • 中铁建设集团招标网站音乐制作专业留学
  • 女人与黑狗做视频网站网站首页大图尺寸