在 Go 函数中设置默认值
虽然 Go 没有提供在函数参数中指定默认值的原生方法,但有几种替代方法可以实现此功能。
选项 1:呼叫者控制默认值
在这种方法中,调用者可以通过检查参数是否为空或零来显式指定默认值。例如:
func SaySomething(i string) string { if i == "" { i = "Hello" } return i }
选项 2:可选参数
您可以通过将参数放置在参数列表的末尾来将其定义为可选参数。在这种情况下,如果未提供参数,该函数将使用默认值。
func Concat(a string, b int) string { if b == 0 { b = 5 } return a + strconv.Itoa(b) }
选项 3:配置结构
创建一个具有默认值的结构体你的函数的参数。这提供了一种设置默认值的声明性方式。
type Config struct { Name string `default:"John Doe"` Age int `default:"0"` } func Greet(c Config) string { return fmt.Sprintf("Hello, %s! You are %d years old.", c.Name, c.Age) }
选项 4:可变参数
此方法允许您解析传入参数并相应地设置默认值。
func ProcessArgs(args ...interface{}) { a := "default-a" b := 5 for _, arg := range args { switch v := arg.(type) { case string: a = v case int: b = v } } // Use a and b }
以上是Go中如何设置函数参数的默认值?的详细内容。更多信息请关注PHP中文网其他相关文章!