如何将匿名结构作为函数参数传递



问题是我无法访问Converter函数内的结构属性,但我可以打印它们。

func main() {
var io struct {
Src   string
Dest  string
}
flag.StringVar(&io.Src, "src", "temp_dir", "")
flag.StringVar(&io.Dest, "dest", "users_dir", "")
modules.Converter(&io)
}
// ./src/modules/converter.go
package modules
func Converter(io interface{}) {
fmt.Println(io)
// => {temp_dir users_dir}
}

我做错了什么?将多个道具传递到功能中的正确方法是什么?

首先,您需要将io结构更改为io

var Io struct {
Src   string
Dest  string
}

功能输入应该以这种方式改变

package modules
import "fmt"
func Converter(io *namePackage.Io) {
fmt.Println(io.Src,io.Dest)
}

最新更新