首页 > 其他分享 >子函数、子过程的可选参数

子函数、子过程的可选参数

时间:2023-06-19 16:57:49浏览次数:41  
标签:必选 Sub 可选 End 参数 test 子函数 Optional

参数的使用

参数的使用对于过程和函数都是一样的。所以本节的内容对过程和函数都适用。

参数可分为可选参数和必选参数两种。必选参数在调用(过程或函数时)必须加上,否则会报错。可选参数则可写可不写。默认是必选参数,可选参数在定义时用Optional关键字声明,并且可选参数必须放在参数列表的最后面。

必选参数

这里不再介绍

可选参数

 可选参数的定义与调用

格式与必选参数类似,只是在参数名前面用Optional声明参数是可选的。

Optional 参数名 As 参数类型

 例如:

Sub sub_test(Optional s As String)
    Debug.Print s
End Sub

在调用上述过程时,可以不传入参数,此时则不会输出任何东西,也不会报错,因为参数是可选的。如果传入了参数,则会输出这个参数。

可选参数还可以设置默认值,即如果在调用时不显式传入这个参数的话,那么就使用定义时所使用的值。如下过程:

Sub sub_test(Optional s As String = "Hello, World")
    Debug.Print s
End Sub

 同时使用可选参数与必选参数

此时可选参数必须放在最后

Sub sub_test(var As Integer, Optional s As String = "Hello, World")
    Debug.Print var
    Debug.Print s
End Sub

只传入必选参数:

Sub test()
    Call sub_test(50)
End Sub

输出:

50

Hello, World

同时传入可选参数与必选参数:

Sub test()
   Call sub_test(50, "Hi, Meinv")
End Sub

输出:

50

Hi, Meinv

 

标签:必选,Sub,可选,End,参数,test,子函数,Optional
From: https://www.cnblogs.com/YYZYCS/p/17491532.html

相关文章

  • ASEMI代理光宝高速光耦LTV-M601参数,LTV-M601图片
    编辑-ZLTV-M601参数描述:型号:LTV-M601平均正向输入电流IF:20mA反向输入电压VR:5V功耗PI:40mW输出集电极电流IO:50mA输出集电极电压VO:7V输出集电极功耗Po:85mW电源电压VCC:7V工作温度Topr:-40~+85℃储存温度Tstg:-40~+125℃低电平输入电流IFL:250μA高电平输入电流IFH:15mA......
  • 使用NamedParameterJdbcTemplate指定命名参数
    在本文中,我们将介绍如何在连接到后端Postgres数据库的Spring启动应用程序中使用NamedParameterJdbcTemplate。我们将使用NamedParameterJdbcTemplate从PostgresDB插入,更新和删除员工。为了保持设计的合理性,我将dao,service和controller分开了。服务只是本文的一个转折点。概观Named......
  • Python3使用装饰器实现参数类型检查
    fromfunctoolsimportwrapsdefmerge_args(varnames:tuple,args:tuple,kwargs:dict)->dict:"""融合参数-将args参数都转为kwargs参数:paramvarnames:变量名列表:paramargs:args参数:paramkwargs:kwargs参数:return:"&......
  • 谈一谈PHP中关于非法参数名传参问题
    在CTF中有些时候GET、POST等方法传参中参数名可能存在一些非法字符导致传参问题。下面讲述的也算是CTF比赛中常见的一种Trick注意:这种Trick只能在PHP版本小于8时有效,当PHP版本大于等于8并不会出现这种转换错误在PHP官方文档中有解释当变量名中出现点和空格时,PHP的处理方式https://w......
  • 如何根据v$parameter查询Oracle隐含参数
    Oracle的隐含参数在Oracle的官方文档中是不会出现的,这些参数主要是Oracle内部用于控制某些功能的开关,或者就像今天eygle讲的,Oracle牛逼之处就是可能几年前开发的一个功能就放到当时的版本中,让你“试用”,但你却不知道,如果碰巧因为遇见了这个问题的bug,Oracle会告诉你可以使用这个参数......
  • Pycharm中print函数有end= 参数,控制台不打印输出
    Pycharm中print函数有end=参数,控制台不打印输出foriinrange(1,256):#寻找对称平方数square=str(i*i)#转为字符串ifsquare==square[::-1]:print(i,end='\t')循环中print函数有end=参数,无论end='\t'还是end=''end='9'e......
  • 4. SpringMVC获取请求参数
    1.通过ServletAPI获取‍将HttpServletRequest作为控制器方法的形参,此时HttpServletRequest类型的参数表示封装了当前请求的请求报文的对象‍​​‍2.通过控制器方法的形参获取请求参数‍在控制器方法的形参位置,设置和请求参数同名的形参,当浏览器发送请求,匹配到......
  • shell pattern(参数展开)
    shellpattern(参数展开) ${parameter:-word}若parameter没有设置或为空,展开结果是word的值。若parameter不为空,则展开结果是parameter的值${parameter:=word}若parameter没有设置或为空,展开结果是word的值。另外,word的值会赋值给parameter。若parameter......
  • 介绍一个MySQL参数检索工具
    碰巧看到徐老师的这篇文章《MySQL的参数工具》,其中介绍了一个讲解MySQL不同版本参数的小工具,网站的作者是MySQL日本用户组的负责人Tomita。该网站能够提供不同版本MySQL的参数,包括不同版本之间的对比。当用户需要对MySQL进行升级、需要确认不同版本间的具体参数差异时,就可以用到这......
  • 对select()参数fdset的完整理解
    虽然写了很多代码,但select我就从没有完整理解过,要用时不过copypaste而已。惭愧!今天决定要对select()参数fdset有一个完整理解。Go!先上一段代码(代码1-1),这段代码做的事情是1.创建一个socket来listen请求2.调用select等待新请求、等待已有请求的数据收发状态READY3.当有新连接请求......