函数参数中的中括号代表什么

看文档的时候产生的疑问,如一个node中的write方法:

buf.write(string[, offset[, length]][, encoding])

函数参数中的中括号代表什么了?怎么有些只有半个括号,比如string[ 或 offset[;而有的却是length]][这样了?

简单的回答就是中括号表示这个参数非必须.

 

首先,这样使用中括号只是出于一种的表达形式的需要而已(这样的表达形式很常见),这与api本身是没有关系的。

然后,我们拿上面的例子来说

buf.write(string[, offset[, length]][, encoding])

对于buf.write这个方法:

第一个参数string是必须的,他表示你要写入的内容;往后的offset、length、encoding这些参数都是非必须的。这些参数你可以不传(用[]括起来表示不传),但并不表示这三个参数你想怎么传就怎么传的,这里是有规则的,规则从这里中括号的对应关系中可以看出来。我们来看他的对应关系:[, offset[, length]] && [ encoding]。这表示offset、length和encoding你可以传或者不传,但是你要是没有传offset的话那length是一定不能传的,这就是为什么length要放在offset的括号里面的原因。

所以整个例子理解起来就是:

string必须传,offset、length、encoding可传可不传,但是offset不传的话length也不能传。

 

转载于:https://www.cnblogs.com/ranyonsue/p/10411351.html

  • 6
    点赞
  • 4
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值