I read below topic
Go: multiple value in single-value context
But I don't understand this explain in my case. May be that's way because I want to use interface
I get error multiple-value NewObject() in single-value context
in below case
type Facade interface {
GetOne() int
}
type ObjectOne struct{
one int
}
func NewObject()(Facade, error){
o := &ObjectOne{}
return o , errors.New("Some funny error")
}
func(o * ObjectOne)GetOne()int{
return 1
}
func SomeWhereInCode(){
newFacade , err := Facade(NewObject())
// And here. I get error probbably because Facade constructor return one arguments (interface) and NewObject() return two. How should be ?
}
I also tryed pass error
as pointer to ObjectOne
but still get error compiler
type Facade interface {
GetOne() int
}
type ObjectOne struct{
one int
}
func NewObject(facadeError* error)(Facade, error){
o := &ObjectOne{}
*facadeError = errors.New("Some funny error")
return o , *facadeError
}
func(o * ObjectOne)GetOne()int{
return 1
}
func SomeWhereInCode(){
var facadeError = error()
newFacade , err := Facade(NewObject(&facadeError))
}