Как управляться с обязательными и опциональными параметрами в конструкторах Golang