У меня есть структура, и я привязал к ней некоторые методы. Мне нужно иметь что-то вроде этого:
func Start() (*MyStruct or empty struct{}, error)
Как я могу этого добиться?
Как мы поступаем с функциями, которые могут возвращать значения разных типов в GoLang? Извините за глупый вопрос. Много искал о дженериках, но ничего не нашел о них в методах...
Я понимаю, как мы имеем дело с простыми функциями и дженериками, но как насчет методов?
Пожалуйста помоги!
Вот более широкий пример:
https://play.golang.com/p/7kPHEVC_G3-
Как я вижу, вы хотите вернуть пустую структуру только при ошибках. Идиоматический способ - вернуть nil
и error
, а не пустую структуру, например:
func Test() (*CustomStruct, error) {
cs := &CustomStruct{}
...
err := DoSomething()
if err != nil {
return nil, err
}
...
return cs, nil
}
Кроме того, если вы используете VS Code с расширением Go, у вас будет шаблон по умолчанию iferr
, чтобы упростить ввод. Просто введите iferr
и нажмите TAB
.
Какова цель возврата пустой структуры? Просто вернись
nil