当前位置: 首页 > wzjs >正文

江北网站制作郑州网站开发设计公司电话

江北网站制作,郑州网站开发设计公司电话,谷歌网站推广好做吗,内网建站软件在 Solidity 里,函数是合约的关键构成部分,用于执行特定任务或操作的代码块,可以包含逻辑、访问状态变量、进行计算,并且可以接受参数和返回值。 但是solidity 的函数与其他语言不太一样,经常会有同学搞混,这里开一篇文章完整介绍一下 solidity 函数的用法。 1. 函数定…

在 Solidity 里,函数是合约的关键构成部分,用于执行特定任务或操作的代码块,可以包含逻辑、访问状态变量、进行计算,并且可以接受参数和返回值。

但是solidity 的函数与其他语言不太一样,经常会有同学搞混,这里开一篇文章完整介绍一下 solidity 函数的用法。

1. 函数定义与声明

function functionName(parameterType1 parameterName1, parameterType2 parameterName2, ...) visibility modifiers returns (returnType1, returnType2, ...) {// 函数体
}
  • function 关键字声明函数
  • functionName:函数的名称。
  • parameterType 和 parameterName:函数的参数,可包含多个参数,参数之间用逗号分隔。
  • visibility:函数的可见性,如 public、private、internal、external。
  • modifiers:可选的修饰符,如 pure、view、payable 等。
  • returns:指定函数的返回值类型,可返回多个值。

2. 函数的修饰符

2.1 函数的可见性

函数可见性修饰符可以用来修饰状态变量和函数,决定了函数的访问权限,具体如下:

  • public: 函数可以被合约内外的任何代码调用。默认为 public。
  • private:函数只能在定义它的合约内部被调用,在派生合约里也是无法访问的。
  • internal:函数只能在定义它的合约及其派生合约中被调用。
  • external:函数只能从合约外部调用,不能在合约内部直接调用,但可以使用 this.functionName() 的方式调用。

2.2 函数状态的可见性

函数状态可变性修饰符用于描述函数是否会修改合约的状态变量,主要用于定义函数的行为和特性。具体有以下几种:

  • pure:函数既不读取也不修改合约的状态变量(即完全不访问状态变量),通常用于执行纯数学计算等操作。

    • 不允许访问thismsg对象。
    • 可以在编译时被内联优化。
    • 不能发送以太币。
    function add(uint a, uint b) public pure returns (uint) {return a + b;
    }
    
  • view:函数只读取合约的状态变量,但不修改它们。

    • 可以调用其他 viewpure函数
    • 不允许修改状态变量
    • 不允许发送以太币
    contract MyContract {uint public myVariable = 10;function getMyVariable() public view returns (uint) {return myVariable;}
    }
    
  • payable:函数可以接收 Ether,当调用该函数时,可以附带一定数量的 Ether。

    • 允许接收以太币
    • 可以调用其他payable函数
    function calculate(uint a, uint b) public pure returns (uint sum, uint product) {sum = a + b;product = a * b;return (sum, product);
    }
    
  • virtaul:函数可以被派生合约重写覆盖

    • 在父合约中声明函数为 virtual,表示该函数可以在派生合约中被重写。
    • 派生合约中可以使用 override 关键字重写 virtual 函数。
    • virtual 函数可以有默认实现
http://www.dtcms.com/wzjs/803407.html

相关文章:

  • 什么网站建设东莞大朗网站建设仗剑
  • 淘宝上开做网站的店铺昆明seo网站排名
  • 德清做网站襄阳建设局网站
  • 注册网站名称中国建设银行网站如何注册
  • 检查网站打开速度建设监理工程师网站
  • 免费注册二级域名的网站公司网站布局
  • 现今网站开发的主流框架百度收录网站提交入口
  • 顺德区建设局网站软文素材网
  • 网站建设及网页设计教案黄骅港赶海时间表
  • 网站做qq登录中国人社app下载安装
  • 网站做流量是怎么回事响应式网站几个断点
  • 用jsp做网站步骤哈尔滨快照优化
  • 华为网站开发流程淘宝内部优惠券网站怎么建设
  • 重庆做网站公司网站模板商城
  • 武安企业做网站推广吉林省新闻最新头条
  • 上海在线做网站看装修案例的网站
  • 网站建设大作业感想手机号交易网站源码
  • 网站推广公司卓立海创官网seo关键词排名系统
  • 怀化市建设局门户网站做网站那家公司好
  • 网站运营公司哪家值得推荐wordpress 高端主题
  • wordpress仿站视频教程营销行网站建设
  • 天水网站建设公司排名主机安装wordpress
  • 黄页推广软件网站重庆网站设计系统
  • 网站建设超链接制作中山手机网站开发
  • 网站开发主管岗位职责说明书企业管理专业主要课程
  • 小公司网站模版市场营销策划方案模板
  • 济南建设网站三丰云做网站步骤
  • 建设公司网站要注意什么wordpress polling
  • 做网站需要学会什么二维码自动生成
  • 网站优化排名首页自己有服务器如何建设微网站