玩以太坊链上项目的必备技能(流程控制-Solidity之旅八)

今天我们不讲三国,来讲讲 流程控制

关于什么是流程控制,想来您是知道的吧!可若您确实不晓得,那您看了这篇文或许对流程控制有了初步的了解。

Solidity 和其他语言一样,支持大部分流程控制语句,除了switch和被程序员界谈虎色变而其他语言又保留的goto

1、if-else
// SPDX-License-Identifier: GPL-3.0
pragma solidity ^0.8.0;


contract C  {

   function ifElseExam(uint8 age) external pure returns(uint8){
      if(age > 18){
         return 1;
      }else {
         return  0;
      }
   }

}

在这里插入图片描述

2、for
// SPDX-License-Identifier: GPL-3.0
pragma solidity ^0.8.0;


contract C  {

   function forLoopExam() external pure returns(uint){
      uint sum; //用于记录总和
      for(uint i = 0; i <= 10; i ++){
         sum += i;
      }
      return sum;
   }

}

在这里插入图片描述

3、while
// SPDX-License-Identifier: GPL-3.0
pragma solidity ^0.8.0;


contract C  {

   function whileExam() external pure returns(uint){
      //解构赋值 与golang多个赋值相似
      (uint sum,  uint i) = (0,0);
      while(i <= 10){
         sum += i;
         i ++;
      }
      return sum;
   }

}

在这里插入图片描述

4、do-while
// SPDX-License-Identifier: GPL-3.0
pragma solidity ^0.8.0;


contract C  {

   function doWhileExam() external pure returns(uint){
      //解构赋值 与golang多个赋值相似
      (uint sum,  uint i) = (0,0);

      do {
         sum += i;
         i ++;
      }
      while(i <= 10);

      return sum;
   }

}

在这里插入图片描述

当然咯,Solidity 也是支持continue以及break操作符的。

5、三元运算符 ? :

另外,Solidity 还支持三元运算符,其也是Solidity 唯一一个三元运算符,表达式 ? 若表达式为真则返回这个值 : 表达式为假便返回这个值

// SPDX-License-Identifier: GPL-3.0
pragma solidity ^0.8.0;


contract C  {

   /*
   * @title 比较两个值,若前一个大于后一个 则返回 1,小于便返回 -1,等于则返回 0
   * @param int a  第一个数
   * @param int b  第二个数
   * @return int  1(a > b), 0(a = b),-1(a < b)
   */
   function exam(int a,int b) external pure returns(int){
      return (a > b ? int(1) : a < b ? int(-1) : int(0));
   }

}

在这里插入图片描述

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

甄齐才

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值