主页 > imtoken下载正版 > 2018 年以太坊智能合约编程语言 solidity 的最佳 IDE

2018 年以太坊智能合约编程语言 solidity 的最佳 IDE

imtoken下载正版 2023-02-22 07:34:08

摘要:原文发表于以太坊智能合约开发第五章字符串拼接。 在上一篇文章中,我们实现了一个简单的智能合约。 文章最后提出了一个问题。 如果我们事先在合约中定义字符串,如何用变量拼接字符串。 智能合约中的字符串拼接不是一件简单的事情。

原文发表于:以太坊智能合约开发第五篇:字符串拼接—Solidity

在上一篇文章中,我们实现了一个简单的智能合约。 无论用户输入什么字符串以太坊合约地址计算java,合约都会准确返回它的内容。 文末提出一个问题:如果我们事先在合约中定义好Hello字符串以太坊合约地址计算java,如何将字符串与name变量拼接起来?

在智能合约中拼接字符串并不是一件简单的事情。 本文介绍智能合约中的字符串拼接。

尝试

让我们先尝试使用连接器 + 和 修改代码。 大多数语言共有的:

//pragma关键字:版本申明。

以太坊合约地址计算java_以太坊智能合约是什么_狗狗币以太坊合约地址

//用来指示编译器将代码编译成特定版本,以免引起兼容性问题 //此处不支持0.4.0之前的编译器,也不支持0.5.0之后的编译器(条件为 ^) pragma solidity ^0.4.0; //contract关键字:合约申明 //和Java、PHP中的class类似

以太坊合约地址计算java_以太坊智能合约是什么_狗狗币以太坊合约地址

//此处是申明一个名为Hello的合约 contract Hello { string str="Hello "; //public: 函数访问属性(后续文章为详细阐述)

以太坊智能合约是什么_狗狗币以太坊合约地址_以太坊合约地址计算java

//returns (string): 定义返回值类型为string function say(string name) public returns (string) { return str + name; } }

运行node deploy.js部署脚本后,抛出异常:

以太坊合约地址计算java_狗狗币以太坊合约地址_以太坊智能合约是什么

TypeError: Operator + not compatible with types string storage ref and string memory      
return str + name;

我们将其修改为 . 并尝试部署,也抛出异常:

TypeError: Member "name" not found or not visible after argument-dependent lookup in string storage ref    return str . name;

说明在智能合约中,+ 和 . 是连接器。

通过查阅Solidity官方文档,我们发现Solidity语言并没有提供字符串拼接的语法:

有没有其他方法可以实现字符串的拼接功能?

以太坊合约地址计算java_以太坊智能合约是什么_狗狗币以太坊合约地址

以下部分为付费用户专属福利,请点击链接跳转到我的付费购买专栏。 通过阅读以下部分,您将了解:

第三方字符串工具合约:字符串的扩展处理(查找、分割、比较、拼接等功能)
智能合约里第三方合约的引入
字符串的拼接实现

我的专栏:智能合约

智能合约开发QQ群:753778670

目前有几套区块链实践视频课程(视频+源码)。 需要的可以加我微信(旷文捷)私信我(付费):

《区块链》从零构建以太坊(Ethereum)智能合约到项目实战

基于以太坊和IPFS的去中心化Ebay区块链项目开发

HyperLedger(超级账本)Fabric