首页
AI Coding
NEW
沸点
课程
直播
活动
AI刷题
APP
插件
搜索历史
清空
创作者中心
写文章
发沸点
写笔记
写代码
草稿箱
创作灵感
查看更多
会员
登录
注册
Cairo传说
ShalomHu
创建于2023-06-07
订阅专栏
为读者提供Cairo编程语言的实用教程、开发技巧和实践经验。将Cairo编程语言的语法和特性进行深入解析,并提供实用的编程技巧和最佳实践。
暂无订阅
共19篇文章
创建于2023-06-07
订阅专栏
默认顺序
默认顺序
最早发布
最新发布
17_Cairo1.0中的Trait
前面我们已经写了很多使用到 trait 的代码,我们现在就来将 trait 的用法总结一下。 Trait的字面意思是”特征”,相当于其他编程语言的 接口(interface)。可以使用 trait 定
13_Cairo1.0中的Map(字典)
基本用法 Map也可以被称为字典(dictionary),Cairo中就是以字典来称呼的。基本用法主要包括:创建、插入键值对数据 和 读取数据。先看一些例子: 首先创建一个字典,需要使用到 Defau
16_Cairo1.0中的泛型(Generic)
泛型是一种编程语言特性,它允许在编写代码时使用类型参数,这些类型参数可以在代码实例化时被具体类型替换。 实际编程中,我们设计好了一套算法来高效地处理业务上的一些问题。如果没有泛型的话,每个类型就需要复
Cairo1.0最近released的版本 2.0.0-rc0 产生的语法变化
一些相关信息的渠道 GitHub的Cairo项目任务进度版图:https://github.com/orgs/starkware-libs/projects/1/views/1 GitHub rele
15_Cairo1.0 中的Snapshot和引用
在14_Cairo1.0 变量所有权一文中我们有提到Copy trait,实现了Copy trait的对象在被传入函数中的时候,会自动将变量复制,并且将副本传入到函数里。另外,如果变量没有实现 Cop
14_Cairo1.0 变量所有权和Move操作
变量的作用域,也可以理解为变量所有者的作用域,通常是指:变量的有效范围,或者可访问范围,它决定了变量的生命周期和可见性。我们来看个例子: 上面变量v1在main函数内部的花括号代码块中被
12_Cairo1.0中的Array(数组)
数组是一种非常常用的数据结构,通常代表一组相同类型的数据元素集合。无论是传统可执行程序,还是智能合约,都会使用到数组。 基本介绍 Cairo中的数组是从核心库 array 中导出的一个数组类型,有着许
11_Cairo1.0中的struct(结构体)
创建一个struct变量(注意⚠️:创建的时候,所有字段都需要赋值,漏了编译会报error: Missing member错误): 使用struct变量的字段...
10_Cairo1.0中的function(函数)
函数是任何一门编程语言必不可少的基础构建。一个函数一般包括:函数名、参数 和 返回值。在Cairo中,约定俗成的规定是将函数名和变量名使用”蛇形命名法”来命名
09_Cairo1.0中的流程控制
if语句 使用起来很简单,不需要用括号将条件括起来。 再来看看多个判断条件的情况: 多个判断条件的执行顺序是:从上往下依次执行,遇到满足条件的,就会跳出不再进行下面的条件判断。
07_Cairo1.0中的Tuple(元组)
元组是一个很有意思的类型,许多编程语言都有这个特性。它是可以将多个不同的类型组合在一起,形成一个集合体。一旦被声明了,他容纳的类型数量就不可以增加,也不可以减少,里面的类型也不可以改变。
06_Cairo1.0 中的Option(特殊Enum)
与Rust一样,Cairo同样没有Null这种代表空的系统级变量或者属性。因为这样很容易出现:将空值当作非空值,或者将非空值当作空值的错误。
05_Cairo1.0中的Enum(枚举)
Cairo中的枚举是一组类型的枚举,或者可以说是多个子类型公用一个枚举类型。适用的场景是:一组有着共同点的类型,但是每个类型又有许多不同,而且同一时刻相互之间互斥。
04_Cairo1.0中的类型转换
目前Cairo中的类型转换主要是将各种类型的整数相互转换,例如:u8、u16、u256、felt252 等。
03_Cairo1.0中的标量类型(felt,integer,boolean,float)
felt252 felt252是Cairo中基础类型,代表一个存储槽,未指定变量类型的字面量默认类型都是felt252。felt252可以是负数或者是0
02_Cairo1.0中的常量(archived)
使用 const 关键字,并且指明了常量的类型,最后给出了常量的值。常量有以下性质: 1. 不允许使用 mut 关键字 2. 只能在全局范围内声明 3. 只可以使用字面量给常量赋值
08_Cairo1.0中的Match控制模式
Cairo 中的Match控制模式,90%与Rust的一样。因为Cairo还在开发中,许多特性还未完善,Rust相对稳定,所以我们可以参考来对照着学习Cairo的这个功能。
01_02_Cairo1.0中的变量与常量
变量是编程语言中最基本的元素。Cairo使用的是不可变的内存模型(immutable memory model),当一个内存空间被赋值后,就不可以再覆盖写入,只可以被读取。
00_Cairo1.0程序的入口
与大多数编程语言类似,单文件的Cairo程序入口是main函数。 Starknet智能合约入口 使用 #[contract] 开头