作者:咖啡十伴侣 | 来源:互联网 | 2023-07-10 16:07
这篇文章主要介绍“Solidity字符串拼接怎么实现”,在日常操作中,相信很多人在Solidity字符串拼接怎么实现问题上存在疑惑,小编查阅了各式资料,整理出简单好用的操作方法,希望对大家解答”Solidity字符串拼接怎么实现”的疑惑有所帮助!接下来,请跟着小编一起来学习吧!
尝试
我们先用绝大部分语言都通用的连接符 + 和 . 来尝试着修改代码:
//pragma关键字:版本申明。
//用来指示编译器将代码编译成特定版本,以免引起兼容性问题
//此处不支持0.4.0之前的编译器,也不支持0.5.0之后的编译器(条件为 ^)
pragma solidity ^0.4.0;
//contract关键字:合约申明
//和Java、PHP中的class类似
//此处是申明一个名为Hello的合约
contract Hello {
string str="Hello ";
//public: 函数访问属性(后续文章为详细阐述)
//returns (string): 定义返回值类型为string
function say(string name) public returns (string) {
return str + name;
}
}
运行 node deploy.js 部署脚本后,抛出了一个异常:
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 语言并不提供字符串连接符的语法:
到此,关于“Solidity字符串拼接怎么实现”的学习就结束了,希望能够解决大家的疑惑。理论与实践的搭配能更好的帮助大家学习,快去试试吧!若想继续学习更多相关知识,请继续关注编程笔记网站,小编会继续努力为大家带来更多实用的文章!