Size: a a a

2021 May 14

с

сонная википедия... in Go-go!
interface options
источник

А

Антоха in Go-go!
Извините) Но немного запутался

Вот у меня такая функция есть, как я могу сделать проверку на существование link?

Я ведь не могу при вызове это функции в некоторых моментах ставить link=nil

func Finish(srv *Request, user *User, link *Link) {
 if link != nil {
   srv.Resp(authResp{
     User: user,
     New:  true,
     Link: link
   })
   return
 }
 
 srv.Resp(authResp{
   User: user,
   New:  true,
 })
 return
}
источник

RC

Roman Covanyan in Go-go!
передать его через контекст :)))
источник

AP

Alexey Palazhchenko in Go-go!
Не слушайте это предложение :)
источник

RC

Roman Covanyan in Go-go!
закрывайте глаза, ты хотел сказать :)
источник

AP

Alexey Palazhchenko in Go-go!
👍
источник

JI

Johnny Ipcom in Go-go!
А if link != nil чем не проверка? Ничего не понял, что ты хочешь...
источник

S

Sula in Go-go!
Ранний возврат
if link == nil {
return } ?
источник

А

Антоха in Go-go!
По структуре нельзя nil, только объект
источник

АК

Александр Костюченко... in Go-go!
чему равна пустая структура?))
источник

АК

Александр Костюченко... in Go-go!
если link это строка, то она будет не nill а пустой строкой.
источник

АК

Александр Костюченко... in Go-go!
следовательно просто заполняйте это поле без какой-либо проверки
источник

АК

Александр Костюченко... in Go-go!
у вас же тут логики вроде бы нет какой-то для link
источник

АК

Александр Костюченко... in Go-go!
а там где логика делается, то уже пишите что
if authResp.Link == "" {
authResp.LogicWithLink()

return
}

authResp.LogicNolink()

Ну либо еще что-нибудь подскажут

А, у вас там указатель, значит, вероятно, это некая структура. Ну вот там где передаете этот link уже либо указатель на  пустую структуру передаете, либо полную ну и в БЛ уже проверяете, а не в конструктуре

исправьте если чушь несу))
источник

А

Антоха in Go-go!
Все) понял, спасибо
источник

p

pragus in Go-go!
Слушайте, а в какой момент сработает defer в замыкании?
источник

М

Мерль🛠 in Go-go!
в момент выхода из замыкания
источник

p

pragus in Go-go!
Вроде такого:

func do() (func(), error) {
 f, err := os.Open("user")
 if err != nil {
   return nil, err
 }
 return func() { defer f.Close() }, nil
}
источник

АК

Александр Костюченко... in Go-go!
а чем вам просто defer f.Close() не угодил?
источник

с

сонная википедия... in Go-go!
это другое
источник