如果一個函數參數過多,可以重構爲一個複合結構類型,如下
package main import ( "fmt" "log" "time" ) /* 如果一個函數參數過多,可以重構爲一個複合結構類型,如下*/ type serverOptino struct { address string port int path string timeout time.Duration log *log.Logger } func newOption() *serverOption { return &serverOption{ //默認參數 address: "0.0.0.0", port: 8080, path: "/var/test", timeout: time.Second * 5, log: nil, } } func server(option *serverOption) {} func main() { opt := newOption() opt.port = 8085 //命名參數設置 server(opt) }
摘抄自《Go言語學習筆記》