if-else
语句:用于基于特定条件执行不同的代码块。for
循环:for 语句是一个控制流结构,用于迭代一个值三元运算符
:提供一种简洁的方式来根据条件选择两个值中的一个。
@view
@external
def is_active(_index: uint256) -> bool:
if _index > 1:
return True
elif _index == 1:
return False
else:
return False
Vyper 中的 for 循环迭代值可以是静态数组、动态数组或从内置 range 函数生成,使用 for i in range(START, STOP)
循环时,START
和 STOP
的值必须是字面整数或者常量(constant),无法使用参数或者内存变量
NUMBER: constant(uint256) = 30
@view
@external
def sum_numbers() -> uint256:
total: uint256 = 0
for i in range(0, 30):
total += i
return total
@view
@external
def sum_numbers1() -> uint256:
total: uint256 = 0
for i in range(0, NUMBER):
total += i
return total
@view
@external
def sum_numbers_error(_number: uint256) -> uint256:
total: uint256 = 0
for i in range(0, _number):
total += i
return total
@view
@external
def get_max(_a: uint256, _b: uint256) -> uint256:
return _a if _a > _b else _b
@view
@external
def get_max(_a: uint256, _b: uint256) -> uint256:
return _a if _a else _b
另外还有 continue(立即进入下一个循环)、break(跳出当前循环)和 pass (声明一个没有实现的函数)关键字可以使用,可以查看 官方文档 。