本文详尽地介绍了 Rust 的所有权、借用及其相关概念,包括 Rust 的复制类型、可变性、泛型、Option 和 Result 等内容。通过示例代码,深入解释了 Rust 的独特语法和其内在逻辑,尤其适合有 Solidity 或 JavaScript 背景的开发者。此外,文章结构清晰,包含代码示例和必要的注释,帮助读者更好地理解 Rust 编程语言。
可验证智能合约简介
文章深入探讨了基于Move的区块链技术,介绍了其安全性和开发者体验优势。Move采用基于资产的存储模型,提高了安全性,并通过静态调度和形式验证器增强了可靠性。对比了基于Move的区块链Aptos和Sui的架构差异。未来展望包括吸引开发者建立应用生态系统。
Rust实战:构建实用的CLI工具HTTPie引言在现代开发中,命令行工具(CLI)因其强大且灵活的特性而广受欢迎。Rust语言凭借其内存安全性和高效性能,正成为构建CLI工具的绝佳选择。在本文中,我们将以构建HTTPie的简化版为例,展示如何使用Rust实现一个功能强大的
深入探索Cairo编程语言:Starknet的基础与实践CairoCairo和Cairo实战主题什么是CairoFieldElementStarklings介绍实战什么是CairoWhatisCairo?Cairoisaprogramminglan
最近遇到一个有趣的问题,有人在测试Rust的性能的时候发现Rust比Golang慢竟然一倍
结构体struct是复合数据结构,它是由其它数据类型组合而来。其它语言也有类似的数据结构,不过可能有不同的名称,例如object、record等。
第8条:熟悉引用和指针类型在一般的编程中,引用(reference)是一种间接访问数据结构的方式,它与拥有该数据结构的变量是分开的。在实践中,引用通常由指针(pointer)来实现。指针是一个数字,它的值是数据结构的变量在内存中的地址。现代CPU通常会对指针施加一些限制:内存地
在Rust编程语言中,变量的可变性指的是变量在声明后是否可以改变其值。Rust中的变量默认是不可变的,即一旦赋值后,不能更改其值。要使变量可变,必须使用mut关键字来声明。
这条款项描述了构造器模式:对于复杂的数据类型提供对应的构造器类型buildertype,使得用户可以方便地创造该数据数据类型的实例。Rust要求开发者在创建一个新的struct实例的时候,必须填入struct的所有字段。这样可以保证结构体中永远不会存在未初始化的值,从而保证了代码的安
第6条:拥抱newtype模式第1条描述了元组结构体,它的字段没有名字,而是通过数字(self.0)来引用。本条着重介绍的是,只包含一个类型的元组结构体。它是一个新的类型,可以包含和内置类型一样的值。在Rust中,这个模式非常普遍,它叫做:newtype模式。newtype模
第5条:理解类型转换Rust的类型转换分为三个类别:手动:通过实现From和Intotrait提供的用户定义类型转换半自动:使用as关键字在值之间进行显式转换自动:隐式强制转换为新类型本章节的重点主要是第一种,即手动转换类型,因为后两种大多数情况下不适用于用户定义类
第4条:优先使用惯用的错误类型第3条描述了如何使用标准库为Option和Result类型提供的转换,以允许使用?运算符简洁、惯用地处理结果类型。但它没有讨论如何最好地处理作为Result<T,E>第二个类型参数出现的各种不同的错误类型E;这就是本章节的内容。只有当有多
什么是mpt树MerklePatriciaTree(简称MPT树,实际上是一种trie前缀树)是以太坊中的一种加密认证的数据结构,可以用来存储所有的(key,value)对https://learnblockchain.cn/article/319(七哥的文章,详细讲解了mpt树)
方法3:避免匹配Option和Result[方法1]阐述了枚举(enum)的优点,并展示了match表达式如何强制程序员考虑所有可能性;这个方法探讨了在某些情况下,你应尽量避免使用match表达式——至少是显式地。[方法1]还介绍了Rust标准库提供的两个无处不在
方法2:使用类型系统表达常见行为[方法1]讨论了如何在类型系统中表达数据结构;本节继续讨论在Rust的类型系统中行为的编码。方法(Methods)在Rust的类型系统中,行为首次出现的地方就是将方法添加到数据结构上:这些方法是对该类型实例的操作,通过self标识。这种方式以
方法1:使用类型系统表达你的数据结构“谁叫他们是程序员,而不是打字员”——@thingskatedid对于来自其他静态类型编程语言(如C++、Go或Java)的人来说,Rust类型系统的基本概念是非常熟悉的。有一系列具有特定大小的整数类型,包括有符号(i8,i16,i32,
作为一个想入门web3的前端来说,你一定很熟悉web2。也一定很好奇web3有什么特别呢?
Let'sMove0基础web2向web3迁移指南(4)实战篇时间戳
星航计划-DeTask找活网0基础开发入门到精通(10)智能合约部分的升级具体步骤和实施升级前的准备packageid:0x07619...c4e06发布者账号:0xb324...5e328UpgradeCap:0x4c1...f7a13b这个保留好,一直用着的首
扫一扫 - 使用登链小程序
378 篇文章,1946 学分
187 篇文章,411 学分
64 篇文章,256 学分
209 篇文章,244 学分
114 篇文章,222 学分