Size: a a a

2020 May 21

RS

Roman Sharkov in Go-go!
Anton Kucherov
А в чем вообще суть вашего оператора ? какую проблему он решает? Помимо сокращения кол-ва строк кода? (что само по себе проблемой не является, т.к. код пишется людьми для людей). Я просто читаю этот оператор в примере выше примерно так: "Дорогой компилятор, вот вложенный вызов, я понятия не имею, что я делаю, разберись пожалуйста и верни мне zero-value если что-то там внутри пойдет не так".
сокращение кода, да.
скорее “дорогой компилятор, напиши за меня все нужные проверки, так-же как ты это делает с boundary-check’ом, чтоб не segfault’ило”
источник

RS

Roman Sharkov in Go-go!
Andrey Privalov
то есть, если f.Baz нет, он бы стразу давал false. Это я понял, Но зачем нам zero value., вот это я не понимаю
это абсолютно тоже самое поведение что и

v, ok := m[“key”]

доступ к несуществующему ключу тоже отдаст zero-value, false

просто ? действует по всей цепочке accessor’а
источник

s

snip in Go-go!
а что в случае если f.Bar.Baz.Muz это интерфейс?
источник

RS

Roman Sharkov in Go-go!
snip
а что в случае если f.Bar.Baz.Muz это интерфейс?
дай пример
источник

s

snip in Go-go!
type s struct{
 Bar struct {
   Baz struct {
     Muz Doer
  }
}
}

tpye Doer interface { Do() }
источник

AP

Andrey Privalov in Go-go!
type Baz interface {
   ...
}

type Bar struct {
   Baz Storage
}
источник

RS

Roman Sharkov in Go-go!
snip
type s struct{
 Bar struct {
   Baz struct {
     Muz Doer
  }
}
}

tpye Doer interface { Do() }
а accessor expression?
источник

s

snip in Go-go!
f = s{}
mz := ? f.Bar.Baz.Muz
источник

PF

Petr Filippov in Go-go!
coalesce пишется с 2 вопросами
источник

PF

Petr Filippov in Go-go!
тернарный оператор с одним вопросом
источник

RS

Roman Sharkov in Go-go!
snip
f = s{}
mz := ? f.Bar.Baz.Muz
тут тебе компилятор должен сказать что ты втираешь ему какую-то дичь. ? здесь совершенно лишний
источник

RS

Roman Sharkov in Go-go!
Petr Filippov
тернарный оператор с одним вопросом
у нас нет тернарного оператора в Go
источник

АП

Александр Попов... in Go-go!
Roman Sharkov
тут тебе компилятор должен сказать что ты втираешь ему какую-то дичь. ? здесь совершенно лишний
он мечтает об операторе который бы это игнорировал
источник

АП

Александр Попов... in Go-go!
типо
источник

PF

Petr Filippov in Go-go!
Roman Sharkov
у нас нет тернарного оператора в Go
у нас это у кого?
источник

PF

Petr Filippov in Go-go!
snip
f = s{}
mz := ? f.Bar.Baz.Muz
вот это работает сейчас?
источник

АП

Александр Попов... in Go-go!
Petr Filippov
вот это работает сейчас?
if f.Bar.Baz.Muz != nil...
источник

s

snip in Go-go!
да,там должны быть *struct { писать просто лень
источник

RS

Roman Sharkov in Go-go!
Petr Filippov
у нас это у кого?
у гоферов, вы в чате про Go 😉
источник

LS

Leonid Starchenko in Go-go!
Народ, работал кто с пэйпал апи? Нужна консультация в лс
источник