区块链 以太坊 solidity 如何比较2个字符串相等
Posted 软件工程小施同学
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了区块链 以太坊 solidity 如何比较2个字符串相等相关的知识,希望对你有一定的参考价值。
不能直接return a == b;,因为Solidity是不支持两个字符串直接比较的。
将string类型转换为bytes类型,它实际上是一个字节数组,每一个字节是可以直接比较,因此只要所有的字节都能相等,就代表两个字符串相等。
function isEqual(string memory a, string memory b) public pure returns (bool)
bytes memory aa = bytes(a);
bytes memory bb = bytes(b);
// 如果长度不等,直接返回
if (aa.length != bb.length) return false;
// 按位比较
for(uint i = 0; i < aa.length; i ++)
if(aa[i] != bb[i]) return false;
return true;
以上是关于区块链 以太坊 solidity 如何比较2个字符串相等的主要内容,如果未能解决你的问题,请参考以下文章
我目前正在学习 Solidity 以及如何在以太坊区块链上开发 Dapps,我的理解是不是正确?
区块链2.0以太坊智能合约solidity之helloworld
区块链2.0以太坊配置solidity编译器sublime详解