go应该如何实现默认参数或可选参数

Go语言支持在函数定义时设置默认值,也称为默认参数。为了实现默认参数,我们可以在函数的形参列表中给参数指定默认值,例如:

func example(a int, b string = "default") {
    // 函数体
}

在这个例子中,函数example有两个形参,一个整型参数a和一个字符串类型的参数b。参数b有一个默认值"default",如果在调用该函数时没有提供第二个参数,那么参数b将会使用默认值。

在调用函数时,如果不想使用默认值,也可以显式地传递一个参数值:

example(1, "custom")

在这个例子中,我们调用了函数example,并传递了两个参数值,其中第二个参数的值是"custom"。因为我们传递了第二个参数值,所以参数b将不会使用默认值,而是使用传递的值"custom"

需要注意的是,在Go语言中,函数的形参只能指定默认值,不能指定可选参数。对于可选参数,我们可以使用结构体或命名返回值来实现。

例如,我们可以定义一个名为Options的结