共计 756 个字符,预计需要花费 2 分钟才能阅读完成。
Solidity 中很多办法都很底层,比方开发中很常见的迭代和判断字符串相等的办法都没有,必须要本人写个办法来实现。可能已有些库已实现相似的办法,不过总归是要麻烦不少。相比起来,JavaScript 本人就带了很多原生的办法,用起来也很棘手。
判读字符串相等不能间接应用 == 这样的办法,我也搞不清为什么,很多语言都是间接反对的,只有 Solidity 不反对。没方法,只能本人设计个办法来实现。
function compareStr(string _str1,string _str2)public returns(bool){
if(keccak256(abi.encodePacked(_str1))==keccak256(abi.encodePacked(_str2))){
// 如果二者相等,使 checkResult 为 true
checkResult=true;
}else{
checkResult=false;
} 对于区块链开发唯:Congge420
// 返回 checkResult
return checkResult;
}
对两个字符串进行哈希运算,后果统一就证实两个字符串相等。这个哈希运算有点费时,能够在这之前做个长度判断以节约点工夫,达到一个均衡。改良后的办法:
function compareStr(string _str1,string _str2)public returns(bool){
if(bytes(_str1).length==bytes(_str2).length){
if(keccak256(abi.encodePacked(_str1))==keccak256(abi.encodePacked(_str2))){
retrun true;
}
}
return false;
}
IPPSWAP 孵化器牛逼之处在于解解决行业六大痛点