编程语言函数返回值处理方式排名
一个函数一个返回值 , 这好像跟祖宗定下的规则似的,各个时代主流编程语言几乎都严格遵守着。然而, 在实际情况下, 程序员写代码经常会碰到一个函数会返回多个返回值这种需求, 比如说一个带分页功能的函数 ,需要要返回数据列表和总记录数两个值; 一个http请求函数需要返回状态码和响应内容两个值。这样的情况比比皆是。 面对这种需求,每一种语言都有自己的一套应对方法。 下面我们来对各主流语言实现方法的好坏来进行一下排名。
第一名:golang
golang的函数天生就支持多返回值这个特性, 一个函数可以返回任意数量的返回值。
所以, 在这一点上, 其它语言和golang没得比。
第二名:Python
python虽然不像golang一样函数支持同时可返回多个值 , 然而, python中有一项语法元素「元组」, 元组中可包含任意数量任意类型的值。
当然, 一些语法元素中有元组的语言, 都支持这样的写法, 如F#,haskell等
第三名:c#
c#不支持多返回值函数, 也没有元组语法,但是它有自带的元组类库可以使用, 虽然比较臃肿丑陋,但是代码的设计思路却是正确的。
c#的元组相对于python来说实现显的不够优雅。虽然在c#中还有ref和out类型的参数可以变相实现一个函数返回多个值 , 然而,这真的不是一种美丽的做法, 非常的不推荐。
第四名:php
php的数组可以将多个值装在一起返回, 但这是最老土最原始的做法, 没有什么值的称道的,本来应该和其它语言并列倒数第一的, 但是,php中的list关键字可用于数组的解构 , 这算是一点优势, 因此, 将php向前提升一名, 位列第四。
php的写法看起来比c#要方便和优雅, 但是,任何数组都是同一个类型, 不管里面有几个元素, 因此, php灵活的写法是建立在安全性差的前提之上的,所以,不如c#。 切记, 数组并非元组,每个元组都是独一无二的类型, 而任何数组都是同一种类型。
Java、JavaScript、c、c++并列倒数第一
代码我都懒的贴
结论
除了像golang这种有先天优势的语言, 对于多返回值函数的推荐解决方案就是使用「元组」, 如果语言本身不支持元组, 那么可以通过语言的其它特性模拟一个元组的实现。
相关文章
-
出去千万别说UI和美工是一个职业,千万别暴露你的缺点哦
文章来源:老铁商城2019-10-31 -
我优化多年的 C 语言竟然被 80行Haskell 打败了?
文章来源:老铁商城2019-10-20 -
当程序员遇到中秋节,会产生怎样的化学反应......
文章来源:老铁商城2019-09-18 -
淘宝、京东这些网站的哪个部分用了web前端技术?你能学会吗?
文章来源:老铁商城2019-09-18 -
Linux和哪些行业有关?2019Linux运维必备哪些技能?
文章来源:老铁商城2019-09-18 -
公认最具影响力的4种编程语言!平均薪资20K,Java第一
文章来源:老铁商城2019-09-18 -
PYPL 9 月编程排行榜:Python第一,继续称霸!就业薪资怎么样?
文章来源:老铁商城2019-09-18