Size: a a a

2020 June 07

ЗА

Заур Ашурбеков... in Go-go!
вам нужно вот так передать

go func(p int){

}(i)
источник

ЗА

Заур Ашурбеков... in Go-go!
и юзать p
источник

k

kvaps in Go-go!
Заур Ашурбеков
вам нужно вот так передать

go func(p int){

}(i)
Кстати, а что если я буду так передавать?
go func(i int){

}(i)
правильно ли я понимаю что внутри горутины будет уже свой i который не повлияет на дальнейшее исполнение программы?
источник

ЗА

Заур Ашурбеков... in Go-go!
да, он скопирует значение i в новую переменную
источник

k

kvaps in Go-go!
а если это будет не горутина, а просто анонимная функция?
источник

ЗА

Заур Ашурбеков... in Go-go!
передача переменных и структур в функции это всегда копирование их значений в новые переменные
источник

k

kvaps in Go-go!
понял, спасибо большое!
источник

ЗА

Заур Ашурбеков... in Go-go!
👍👍
источник

ЗА

Заур Ашурбеков... in Go-go!
все часто пишут, что выдача в конструкторе интерфейса это плохо, но что на счёт такого подхода? когда внутри публичного конструктора сервиса мы используем конструктор конкретной реализации
источник

S

Sergey in Go-go!
И что изменится в твоём примере, если вернуть не интерфейс, а конкретную реализацию?
источник

DP

Daniel Podolsky in Go-go!
Anton Kucherov
🤷‍♂️ Next step...
кстати, develop мог бы быть devel, но не мог…
источник

ЗА

Заур Ашурбеков... in Go-go!
Sergey
И что изменится в твоём примере, если вернуть не интерфейс, а конкретную реализацию?
Мы вернём конкретную реализацию, а не абстрактный интерфейс 😁
источник

AK

Anton Kucherov in Go-go!
> все часто пишут, что выдача в конструкторе интерфейса это плохо,

Это всего лишь мнение, вы можете его игнорировать. Вчера только рассматривали проект от Google и Apple, им например ничего не мешает когда нужно возвращать интерфейсы в Go.
источник

S

Sebor in Go-go!
девелОп звучит интереснее
источник

DP

Daniel Podolsky in Go-go!
Vladimir Smirnov
Ну это не так кстати. Подобные формулировки с лингвистической точки зрения провоцируют unconscious bias
среди кого?!
источник

VL

V L in Go-go!
Anton Kucherov
> все часто пишут, что выдача в конструкторе интерфейса это плохо,

Это всего лишь мнение, вы можете его игнорировать. Вчера только рассматривали проект от Google и Apple, им например ничего не мешает когда нужно возвращать интерфейсы в Go.
Когда нужно - это ключевое. Обычно возвращают интерфейсы ради интерфейсов как привычки из других ЯП.
источник

S

Sergey in Go-go!
Заур Ашурбеков
все часто пишут, что выдача в конструкторе интерфейса это плохо, но что на счёт такого подхода? когда внутри публичного конструктора сервиса мы используем конструктор конкретной реализации
пример, кстати, странноватый тоже . var NewIncrementer = newIncrementer решает проблему и проще, и без необходимости возвращать интерфейс.
источник

М

Марк in Go-go!
Yevhenii
Сижу на медиуме, читаю про иммутабельность и тут это. Первый раз вижу такое в Go, это вообще правильный подход?
Ничего не понятно, но выглядит круто )
источник

ЗА

Заур Ашурбеков... in Go-go!
Sergey
пример, кстати, странноватый тоже . var NewIncrementer = newIncrementer решает проблему и проще, и без необходимости возвращать интерфейс.
не совсем понял. это в смысле создавать на уровне глобальной переменной NewIncrementer ?
источник

ЗА

Заур Ашурбеков... in Go-go!
да не
источник