ethereum(以太坊)(十四)--Delete

pragma solidity ^0.4.10;

contract Delete{
    /*
        delete可用于任何变量(除mapping),将其设置成默认值
        bytes/string:删除所有元素,其长度变为0
        bytes32:重置所有索引的值
        mapping:什么都不会发生
        mapping(key=>value)中的key:删除与该键相关的值
    */
    string public str1 =‘nihao‘;

    function deletstr() public{
        delete str1;
    }
    function setstr() public returns(string){
        return str1=‘NIHAO‘;
    }

    uint[5] public b1=[uint(10),2,3,4,5];

    uint[] public b2=new uint[](10);

    function initAccary() public{
        for(uint i;i<10;i++){
            b2[i] = i;
        }
    }

    function deleStaticAccary() public{
        delete b1;
    }
    function deleDhcpAccary() public{
        delete b2;
    }
    function getlength() public view returns(uint,uint){
        return (b1.length,b2.length);
    }

    mapping(uint=>bool) public m1;

    function f1() public{
        m1[1]=true;
        m1[2]=false;
    }

    function deleM(uint a) public{
        delete m1[a];
    }

    struct Person{
        string name;
        mapping(string =>uint) NameSore;
    }

    //Person p2=Person(‘duke‘,([‘duke‘][90]));
    Person public p1;
    function InitP1() public{
        p1.name=‘duke‘;
        p1.NameSore[‘duke‘]=90;
    }

    function checkP1() public view returns(string,uint){
        return(p1.name,p1.NameSore[‘duke‘]);
    }
    function delP1() public{
        delete p1;
    }
}

原文地址:https://www.cnblogs.com/eilinge/p/10084255.html

时间: 2024-08-30 15:31:05

ethereum(以太坊)(十四)--Delete的相关文章

ethereum(以太坊)(十)--字节数组

pragma solidity ^0.4.0; contract byte1{ /* 固定大小字节数组(Fixed-size byte arrays) 固定大小字节数组可以通过bytes1,bytes2...bytes32声明,byte=byte1 bytes1 只能存储1个字节,也就是二进制的8位内容 //一个字节=8位2进制/一个字母/符号/(1/3汉字) bytes2 只能存储2个字节,也就是二进制的8*2位内容 bytes32 只能存储32个字节,也就是二进制的8*32=256位内容 十

ethereum(以太坊)(五)--Bool

pragma solidity ^0.4.0; contract Bool{ uint num1 = 100; uint num2 = 200; bool _c = true; // && == function yuf() constant returns(bool){ return num1 == num2 && _c; //false } // || != function huof() constant returns(bool){ return num1 != n

ethereum(以太坊)(六)--整型(int)

/* uint8 uint16 ...uint256 int8 int16 int24 ..int256 uint => uint256 int => int256 int8 有符号 +1 ,-3 uint 无符号 1,2 int8 8(位) 1 111 1111 ~ 0 111 1111 - (1+2+4+8+16+32+64) ~ + (1+2+4+8+16+32+64) -127 ~ 127 255(127*2+0) uint8 0000 0000 ~ 1111 1111 (0~255)

ethereum(以太坊)(九)--global(全局函数)

pragma solidity ^0.4.0; contract modifierTest{ bytes32 public blockhash; address public coinbase; uint public difficulty; uint public gaslimit; uint public blockNum; uint public timestamp; bytes public calldata1; uint public gas; address public sende

ethereum(以太坊)(基础)--容易忽略的坑(一)

pragma solidity ^0.4.0; contract base{ address public _owner=msg.sender; uint _a; string internal _b ; uint private _c; //uint external _d;ParserError: Expected identifier but got 'external' function base() { _a =10; //uint _d public;Expected ';' but

ethereum(以太坊)(基础)--容易忽略的坑(二)

pragma solidity ^0.4.0; contract EMath{ string public _a="lin"; function f() public{ modify(_a); } //function modify(string storage name) private{ function modify(string memory name) private{ //string storage c = name;Type string memory is not i

(转)写文章 以太坊(Ethereum)创世揭秘 以太坊(Ethereum)创世揭秘

什么是以太坊(Ethereum) 以太坊(Ethereum)是一个基于区块链技术,允许任何人构建和使用去中心化应用的区块链平台.像比特币一样,以太坊是开源的,并由来自全世界的支持者们共同维护.与比特币仅提供了有限功能的脚本不同,以太坊提供了一个"图灵完备"的虚拟机,称为以太坊虚拟机(Ethereum Virtual Machine),简称EVM,用户可以在EVM上创建智能合约(Smart Contract).以太坊平台中的通用货币为以太币(Ether),简称ETH,以太币可用于账号间的

区块链快速入门(八)——以太坊

区块链快速入门(八)--以太坊 一.以太坊简介 以太坊(Ethereum)项目的最初目标是打造一个运行智能合约的平台(Platform for Smart Contract),支持图灵完备的应用,按照智能合约的约定逻辑自动执行,理想情况下将不存在故障停机.审查.欺诈以及第三方干预等问题.以太坊平台目前支持Golang.C++.Python等多种语言实现的客户端.由于核心实现上基于比特币网络的核心思想进行了拓展,因此在很多设计特性上都与比特币网络十分类似.基于以太坊项目,以太坊团队目前运营了一条公

以太坊开发完整去中心化应用 —— 区块链投票系统

第一节 课程概述 本课程面向初学者,内容涵盖以太坊开发相关的基本概念,并将手把手地教大家如何构建一个 基于以太坊的完整去中心化应用 -- 区块链投票系统. ethereum logo 通过本课程的学习,你将掌握: 以太坊区块链的基本知识 开发和部署以太坊合约所需的软件环境 使用高级语言(solidity)编写以太坊合约 使用NodeJS编译.部署合约并与之交互 使用Truffle框架开发分布式应用 使用控制台或网页与合约进行交互 前序知识要求 为了顺利完成本课程,最好对以下技术已经有一些基本了解