以太坊智能合约语言Solidity - 3 数组

这篇具有很好参考价值的文章主要介绍了以太坊智能合约语言Solidity - 3 数组。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

3. 数组

1字节(Byte) = 8位 (bit), bytes32 = 256位,bytes1 实质上就等于 int8

3.1 固定长度的字节数组

固定长度的数组一旦被定义就无法再更改,并且长度在一开始就会被显式定义

我们再来创建一个新的文件用来编写代码

pragma solidity ^0.4.0;

contract BytesArray {
    bytes2 num = 125;


    //如下返回值为2
    function getLength() view public returns(uint)
    {
        return num.length;
    }
}

字节数组无法进行基本运算,但是可以比较

    bytes1 public a = 0x7a; //0111 1010 218
    bytes1 public b = 0x68; //0110 1000 184

    //false
    function compare() returns(bool) {
        return a==b;
    }

    //true
    function compare2() returns(bool) {
        return a!=b;
    }

    //true
    function compare3() returns(bool) {
        return a>b;
    }

字节数组还支持其他一些逻辑运算,具体计算结果如下,读者也可以自行运算比较

    bytes1 public a = 0x7a; //0111 1010 218
    bytes1 public b = 0x68; //0110 1000 184

  	--
		//0x68
    function weiyu() view public returns(bytes1) {
        return a & b;
    }
    //0x7a
    function weihuo() view public returns(bytes1) {
        return a | b;
    }
    //0x85
    function weifan() view public returns(bytes1) {
        return ~a;
    }
    //0x12
    function weiyihuo() view public returns(bytes1) {
        return a ^ b;
    }
    //0xf4
    function zuoyi() view public returns(bytes1) {
        return a << 1;
    }
    //0x3d
    function youyi() view public returns(bytes1) {
        return a >> 1;
    }

3.2 动态字节数组

动态数组的具体操作如下,读者可手动编译尝试体验文章来源地址https://www.toymoban.com/news/detail-405136.html

pragma solidity ^0.4.0;

contract Dynamicbytes {

    //定义一个空数组 :0x0000
    bytes public name = new bytes(2);


    //给空数组中填充变量 :0x7a68
    fun

到了这里,关于以太坊智能合约语言Solidity - 3 数组的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包 赞助服务器费用

相关文章

  • 玩以太坊链上项目的必备技能(初识智能合约语言-Solidity之旅一)

    前面一篇关于 智能合约 翻译文讲到了,是一种计算机程序,既然是程序,那就可以使用 程序语言 去编写 智能合约 了。 而若想玩区块链上的项目,大部分区块链项目都是开源的,能看得懂 智能合约 代码,或找出其中的漏洞,那么,学习 Solidity 这门高级的智能合约语言是有

    2023年04月16日
    浏览(84)
  • 以太坊智能合约开发(五):Solidity成绩录入智能合约实验

    每个学生分别部署合约Student.sol ,保证只有自己可以修改姓名。老师部署合约StudentScore.sol,用于录入学生成绩,查询学生信息。查询学生信息时,需要调用学生部署的合约Student.sol。 student.sol合约,用于学生对自己信息进行管理。 学生的基本信息作为状态变量: 声明构造函

    2024年02月07日
    浏览(36)
  • 第四章 以太坊智能合约solidity介绍

    Solidity 是一门面向合约的、为实现智能合约而创建的高级编程语言,设计的目的是能在以太坊虚拟机上运行。 本章大概介绍合约的基本信息,合约的组成,语法方面不做过多的介绍,个人建议多阅读官方文档效果更佳,后续的章节会开发ERC20代币合约案例以便于更好的学习智

    2024年02月06日
    浏览(47)
  • 基于以太坊的智能合约开发Solidity(基础篇)

    参考教程:基于以太坊的智能合约开发教程【Solidity】_哔哩哔哩_bilibili (1)程序编译完成后,需要在虚拟机上运行,将合约部署好后便可执行刚刚编写的函数。(注意, 合约一旦部署,就会永久存在于区块链上,且不可篡改 ,不过可以销毁) (2)执行完成后,可以得到以

    2024年02月04日
    浏览(48)
  • 基于以太坊的智能合约开发Solidity(事件&日志篇)

    (1)事件用于记录在区块链上的特定活动,“emit ValueChanged(newValue);”语句的作用是触发ValueChanged事件(首先需要声明事件)。 ①触发事件后会生成相应日志,上图黄框就是“emit ValueChanged(newValue);”语句产生的日志,其中“form”指的是触发事件的合约账户。 ②事件主要是供

    2024年02月04日
    浏览(33)
  • 区块链智能合约编程语言 Solidity

    上文介绍了区块链生态发展,我们知道以太坊的到来可以使开发人员基于区块链开发DApp,本文介绍 Solidity 编程语言的使用,然后基于 Solidity 编写一个简单的智能合约。 Solidity 是以太坊开发人员使用的编程语言,用来编写智能合约,运行在以太坊虚拟机(EVM)上。 有开发经

    2024年02月12日
    浏览(44)
  • 了解 Solidity 语言:构建智能合约的首选编程语言

    Solidity 是一种用于 编写智能合约 的高级编程语言,广泛应用于以太坊和其他以太坊虚拟机(EVM)兼容的区块链平台。它是以太坊智能合约的首选语言之一,具有丰富的功能和灵活性,使得开发者可以构建各种类型的去中心化应用(DApps)和智能合约 合约编程 : Solidity 是一种

    2024年04月12日
    浏览(28)
  • go语言操作以太坊智能合约

    操作中要注意版本问题 geth版本、golang版本等 在remix环境中写好合约后,进行编译得到abi文件 简单举例 Hello.sol合约 编译后abi文件(Hello.abi)内容 然后需要一个 abigen工具 可以将abi、bin等编译后的智能合约文件内容生成go代码 abigen可以在geth官网下载geth的时候下载GethTools版本

    2024年02月09日
    浏览(27)
  • 智能合约学习笔记一 、——{Solidity语言详解——(1—2)小练习}

    1.根据提示,在指定位置写出编译版本,要求使用^符号,版本要求在0.6.0及以上。 2.根据提示,在指定位置写出所定义的合约名称。 3.为了查看程序的效果,我们使用在线 Solidity 开发工具 Remix IDE 编译和运行 Solidity 程序。中文在线版:在浏览器打开下方链接: Remix - 中文版

    2024年02月02日
    浏览(31)
  • Solidity vs. Vyper:不同的智能合约语言的优缺点

    本文探讨以下问题:哪种智能合约语言更有优势,Solidity 还是 Vyper?最近,关于哪种是“最好的”智能合约语言存在很多争论,当然了,每一种语言都有它的支持者。 这篇文章是为了回答这场辩论最根本的问题: 为了弄清问题的本质,我们将先讨论语言的工具和可用性,然

    2024年01月18日
    浏览(27)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包