gpt4 book ai didi

go - 从函数返回的正确方法是什么?

转载 作者:行者123 更新时间:2023-12-01 22:45:20 24 4
gpt4 key购买 nike

我很困惑我应该如何从函数中返回一个值。我正在尝试以下示例:

  • 将 false 传递给函数
  • c 的值在函数 a
  • 中为假
  • 它将进行递归调用,这会将 c 的值从 false 更改为 true
  • 所以函数应该返回一个字符串“true”和bool true,但它返回一个字符串“false”和bool false
    package main

    import (
    "fmt"
    )

    func a(c bool) (string, bool) {
    if c {
    return "true", true
    }
    a(true)
    return "false", false
    }

    func main() {
    s, ok := a(false)
    fmt.Println(s, ok)
    }

    https://play.golang.org/p/uSIN2k0G3QW
  • 最佳答案

    c 时,您的递归代码将始终返回 "false"false是假的。请参阅下面的正确代码。

    package main

    import (
    "fmt"
    )

    func a(c bool) (string, bool) {
    if c {
    return "true", true
    }
    return a(true)
    }

    func main() {
    s, ok := a(false)
    fmt.Println(s, ok)
    }

    关于go - 从函数返回的正确方法是什么?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/58147509/

    24 4 0
    Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
    广告合作:1813099741@qq.com 6ren.com