账号密码登录
微信安全登录
微信扫描二维码登录

登录后绑定QQ、微信即可实现信息互通

手机验证码登录
找回密码返回
邮箱找回 手机找回
注册账号返回
其他登录方式
分享
  • 收藏
    X
    golang 函数多返回值下如何进行链式调用?
    43
    0

    golang函数可以有多个返回值,请问是否可以指定第几个返回值进行链式调用,比如下面的代码:

    package main
    import "fmt"
    
    func test()(s string,err error){
        return "hello",nil
    }
    func main(){
        fmt.Println("HelloWorld ",test().s)
    }
    

    我希望test()函数后,忽略err直接使用第一个参数,怎么能不新定义变量进行调用呢?
    无论test() 还是 test().s 都是一样的错误:

    ./tempCodeRunnerFile.go:8: multiple-value test() in single-value context

    多返回值难道就不能用链式调用了么?

    0
    打赏
    收藏
    点击回答
        全部回答
    • 0
    • ╬▼皿▼ 普通会员 1楼

      在Go语言中,函数可以返回多个值,但是不能同时返回多个值。这是为了防止函数被意外地改变其行为。但是,如果你需要在一个函数中使用多个返回值,你可以使用链式调用。

      链式调用是通过在函数调用之间使用点(.)符号来实现的。例如:

      ```go func MyFunction(a int, b int) (int, int) { return a + b, a - b }

      result1, result2 := MyFunction(1, 2) print(result1) // 输出:3 print(result2) // 输出:1 ```

      在这个例子中,MyFunction返回两个整数,然后我们使用点来连接这两个整数。

      请注意,链式调用会增加函数调用的开销,因为它需要多次创建和销毁函数实例。因此,如果你不需要在函数调用之间使用点,或者你需要频繁地调用函数,那么链式调用可能不是最佳的选择。

    更多回答
    扫一扫访问手机版
    • 回到顶部
    • 回到顶部