• 请不要在回答技术问题时复制粘贴 AI 生成的内容
songdg
V2EX  ›  程序员

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

  •  
  •   songdg · Nov 21, 2019 · 4142 views
    This topic created in 2377 days ago, the information mentioned may be changed or developed.

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

    Supplement 1  ·  Nov 21, 2019
    谢谢大家的回复,之所以没写语言是想看看各大语言的处理方法。
    21 replies    2019-11-22 08:31:24 +08:00
    wutiantong
        1
    wutiantong  
       Nov 21, 2019
    既然你连语言都没写,这里有个万能解:序列化,返回字节流或者文件路径。
    lihongjie0209
        2
    lihongjie0209  
       Nov 21, 2019
    tuple 可解

    java 用 vavr

    python 自带
    CrisTao
        3
    CrisTao  
       Nov 21, 2019
    map 就可以了啊
    laike9m
        4
    laike9m  
       Nov 21, 2019 via Android
    语言?
    coderluan
        5
    coderluan  
       Nov 21, 2019
    封装
    augustheart
        6
    augustheart  
       Nov 21, 2019
    返回一个对象
    wysnylc
        7
    wysnylc  
       Nov 21, 2019
    返回对象
    如果是要附带返回异常信息请用 exception+try-catch
    不要写 map 会导致方法不可读无语义
    sagaxu
        8
    sagaxu  
       Nov 21, 2019 via Android
    Kotlin,两个用 Pair,三个用 Triple,四个以上建议定义一种类型
    GPLer
        9
    GPLer  
       Nov 21, 2019 via Android
    用 lua
    hyperbin
        10
    hyperbin  
       Nov 21, 2019 via Android
    写题目完自己都不读一下吗?
    ipwx
        11
    ipwx  
       Nov 21, 2019 via Android
    场景不说,语言不说,你想让咱回答杀啥
    ochatokori
        12
    ochatokori  
       Nov 21, 2019 via Android
    js ?对象数组随便挑
    yuyu2140
        13
    yuyu2140  
       Nov 21, 2019
    不就是解构声明吗
    EminemW
        14
    EminemW  
       Nov 21, 2019 via iPhone
    Json 或者 map 不行吗
    bearxu
        15
    bearxu  
       Nov 21, 2019
    tuple<................>
    crclz
        16
    crclz  
       Nov 21, 2019
    public (int, string, int) SomeCsharpFunction(){
    return (1,"2",3)
    }
    Fuste
        17
    Fuste  
       Nov 21, 2019
    我觉得构造一个类或者结构体比较好,返回动态结构不太利于维护和可读性
    ahojcn
        18
    ahojcn  
       Nov 21, 2019
    struct
    class
    global var
    annielong
        19
    annielong  
       Nov 21, 2019
    通用就上 string 数组,不通用就建 class,简单粗暴,兼容
    beyondex
        20
    beyondex  
       Nov 21, 2019 via Android
    c# 用元组,有需要还可以给多个对象分别命名。
    levelworm
        21
    levelworm  
       Nov 22, 2019 via Android
    话说为何需要有很多返回值?能否从设计上改变呢?好奇
    About   ·   Help   ·   Advertise   ·   Blog   ·   API   ·   FAQ   ·   Solana   ·   3476 Online   Highest 6679   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 143ms · UTC 11:46 · PVG 19:46 · LAX 04:46 · JFK 07:46
    ♥ Do have faith in what you're doing.