Solidity 函数原型与循环语句详解(2023版)

文章介绍了智能合约中函数的定义,包括函数名称、参数列表、修饰符和返回值。函数的可见性分为Private、Internal、External和Public四种,影响其调用范围。状态可变性如view和pure规定函数是否能修改状态,而payable则允许接收以太币。此外,还可以自定义函数修饰符。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

函数的定义

function func_name(paramlist...) modifiers returns (returnlist...)
  • function是函数声明的关键字;
  • func_name自定义函数名称,与我们习惯的函数命名规范没有区别;
  • paramlist参数列表,可以0或多个参数,格式是:参数类型 参数名称;
  • modifiers函数的修饰符,非常关键;
  • returns返回值关键字,看到s应该能想到可以返回多个值;
  • returnlist返回值类型列表;

函数的可见性

函数的可见性有四种:

  • Private(私有):函数只能在所定义的智能合约内部调用,也就是只有该合约可以调用。
  • Internal(内部):可以在所定义智能合约内部调用该函数,也可以从继承合约中调用该函数。
  • External(外部):内部不能访问只能从智能合约外部调用。
  • Public(公开):可以从任何地方调用 (最宽松)。对于公共状态变量,会生成自动getter函数。
     

函数状态可变性

  • view:用view声明的函数只能读取状态,而不能修改状态。
  • pure:用pure声明的函数既不能读取也不能修改状态。
  • payable:用payable声明的函数可以接受发送给合约的以太币,如果未指定,该函数将自动拒绝所有发送给它的以太币。
  • constant:合约不修改状态变量,和view一样(函数中基本不使用了)

函数修饰符modifiy

支持自定义修饰符号modifier

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值