是否可以使用Golang以类似的方式工作,例如函数重载或C#中的可选参数?还是另一种方式?
直接支持函数重载和可选参数。您可以解决它们,建立自己的参数结构。我的意思是这样(未经测试,可能无法使用…)编辑:现在已测试…
package main import "fmt" func main() { args:=NewMyArgs("a","b") // filename is by default "c" args.SetFileName("k") ret := Compresser(args) fmt.Println(ret) } func Compresser(args *MyArgs) string { return args.dstFilePath + args.srcFilePath + args.fileName } // a struct with your arguments type MyArgs struct { dstFilePath, srcFilePath, fileName string } // a "constructor" func that gives default values to args func NewMyArgs(dstFilePath string, srcFilePath string) *MyArgs { return &MyArgs{ dstFilePath: dstFilePath, srcFilePath:srcFilePath, fileName :"c"} } func (a *MyArgs) SetFileName(value string){ a.fileName=value; }