gpt4 book ai didi

go - 如何根据参数类型获取返回值?

转载 作者:IT王子 更新时间:2023-10-29 02:05:52 29 4
gpt4 key购买 nike

当我定义函数时

func test(a int, b int) int {
//bla
}

我必须设置参数和返回值类型。我如何根据参数类型返回值,ex

func test(argument type) type {
//if argument type == string, must return string
//or else if argument int, must return integer
}

我可以这样做吗?如何做?

最佳答案

Go 缺少泛型(不打算以任何方式争论这一点),您可以通过将 interface{} 传递给函数然后在另一端进行类型断言来实现这一点。

package main

import "fmt"

func test(t interface{}) interface{} {
switch t.(type) {
case string:
return "test"
case int:
return 54
}
return ""
}

func main() {
fmt.Printf("%#v\n", test(55))
fmt.Printf("%#v", test("test"))
}

你必须输入断言你得到的值

v := test(55).(int)

关于go - 如何根据参数类型获取返回值?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/25945152/

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