当函数需要返回很多变量时的烦恼

2019-11-21 10:44:18 +08:00
 songdg

当函数需要返回很多变量时有没有什么优雅的写法,想过将变量放进数组里。

3269 次点击
所在节点    程序员
21 条回复
wutiantong
2019-11-21 10:55:08 +08:00
既然你连语言都没写,这里有个万能解:序列化,返回字节流或者文件路径。
lihongjie0209
2019-11-21 10:56:58 +08:00
tuple 可解

java 用 vavr

python 自带
CrisTao
2019-11-21 11:12:19 +08:00
map 就可以了啊
laike9m
2019-11-21 11:12:46 +08:00
语言?
coderluan
2019-11-21 11:19:40 +08:00
封装
augustheart
2019-11-21 11:22:51 +08:00
返回一个对象
wysnylc
2019-11-21 11:34:15 +08:00
返回对象
如果是要附带返回异常信息请用 exception+try-catch
不要写 map 会导致方法不可读无语义
sagaxu
2019-11-21 11:42:35 +08:00
Kotlin,两个用 Pair,三个用 Triple,四个以上建议定义一种类型
GPLer
2019-11-21 11:50:46 +08:00
用 lua
hyperbin
2019-11-21 11:54:09 +08:00
写题目完自己都不读一下吗?
ipwx
2019-11-21 12:00:59 +08:00
场景不说,语言不说,你想让咱回答杀啥
ochatokori
2019-11-21 12:13:48 +08:00
js ?对象数组随便挑
yuyu2140
2019-11-21 12:29:54 +08:00
不就是解构声明吗
EminemW
2019-11-21 12:30:17 +08:00
Json 或者 map 不行吗
bearxu
2019-11-21 13:08:03 +08:00
tuple<................>
crclz
2019-11-21 13:42:49 +08:00
public (int, string, int) SomeCsharpFunction(){
return (1,"2",3)
}
Fuste
2019-11-21 15:09:31 +08:00
我觉得构造一个类或者结构体比较好,返回动态结构不太利于维护和可读性
ahojcn
2019-11-21 16:44:01 +08:00
struct
class
global var
annielong
2019-11-21 16:54:41 +08:00
通用就上 string 数组,不通用就建 class,简单粗暴,兼容
beyondex
2019-11-21 17:12:00 +08:00
c# 用元组,有需要还可以给多个对象分别命名。

这是一个专为移动设备优化的页面(即为了让你能够在 Google 搜索结果里秒开这个页面),如果你希望参与 V2EX 社区的讨论,你可以继续到 V2EX 上打开本讨论主题的完整版本。

https://www.v2ex.com/t/621644

V2EX 是创意工作者们的社区,是一个分享自己正在做的有趣事物、交流想法,可以遇见新朋友甚至新机会的地方。

V2EX is a community of developers, designers and creative people.

© 2021 V2EX