Telegram Web Link
Вышел Go 1.18rc1:

We have just released go1.18rc1, a release candidate version of Go 1.18.
It is cut from release-branch.go1.18 at the revision tagged go1.18rc1.

Please try your production load tests and unit tests with the new version.
Your help testing these pre-release versions is invaluable.

Report any problems using the issue tracker:
https://go.dev/issue/new

If you have Go installed already, the easiest way to try go1.18rc1
is by using the go command:
$ go install golang.org/dl/go1.18rc1@latest
$ go1.18rc1 download

You can download binary and source distributions from the usual place:
https://go.dev/dl/#go1.18rc1

To find out what has changed in Go 1.18, read the draft release notes:
https://tip.golang.org/doc/go1.18
В Twitter появилось сообщество по Go
🇺🇦
How to Go wrong pinned «🇺🇦»
🚓 Нет войне!
С февраля пытался написать сюда о годе, прошедшем с предыдущего поста. Не смог. Отчасти, потому что давно уже привык разделать разные сферы своей жизни по разным местам (что особенно полезно с учётом онлайн слежки в России). Но главное – потому что писал и не вывозил. Если какие-то моменты были даже в чём-то забавными (например, договор с инвесторами FerretDB я подписывал прямо из автозака), то в основном – полный ужас. Ужас от происходящего в Украине, от происходящего в России, от попыток бежать быстрее несущегося в пропасть поезда, который вот-вот догонит.

Сейчас моя ситуация немного стабилизировалась – поезд относительно далеко, и можно нормально работать, а не постоянно думать о выживании. Поэтому я продолжу писать в этот канал про Go и связанные темы, чтобы отвлечь и себя, и вас. Но не воспринимайте это как полную отрешённость от войны: нет, она никуда не делась, и я продолжаю делать, что могу, чтобы она скорее закончилась – но не здесь.

Слава Украине!
Россия будет свободной!
How to Go wrong pinned «С февраля пытался написать сюда о годе, прошедшем с предыдущего поста. Не смог. Отчасти, потому что давно уже привык разделать разные сферы своей жизни по разным местам (что особенно полезно с учётом онлайн слежки в России). Но главное – потому что писал и…»
How to Go wrong pinned «Ну что, поехали! https://blog.ferretdb.io/ferretdb-1-0-ga-opensource-mongodb-alternative/ Плюсаните нас на https://news.ycombinator.com (поищите FerretDB в new) Лайк и ретвит: https://twitter.com/ferret_db Стар и рe🐘: https://techhub.social/@ferretdb Лайк…»
🔝 Плюсаните, пожалуйста, нас на главной странице https://news.ycombinator.com/ сейчас
Please open Telegram to view this post
VIEW IN TELEGRAM
Не используйте } else {
Forwarded from Путь Golang
🍺 Помню это был октябрь 2020. Я только устроился программистом в майнинг. Ездил от ст.м. Московская на 187 автобусе. И пытался слушать Go Time подкаст по дороге: https://changelog.com/gotime

🍺 Так вот. Еду я как-то, а там обсуждают, что из Golang удалить бы. И дядька один такой — я бы else удалил, я им не пользуюсь. И я такой наушники выронил — как это? Но решил для разнообразия попробовать.

🙅‍♂️ Первой моей реакцией было — как так можно-то? Жутко не удобно. На половине кейсов спотыкаешься и тратишь время на перестановки!!! switch ещё этот!!!

❤️ А где-то через пару месяцев я взглянул на код... И понял, что там где я заставил делать перестановки и выворачиваться из-за избегания else — там код читаемый, тестируемый и расширяемый. А там, где я так не делал, в ряде случаев он был запутанный и зачастую с ошибками (логическими).

🍓 Я не знаю до сих пор как это работает, но почему-то очень неудобно делать вложенные if, если избегать else и как-то эти вложения автоматом исчезают

🫵 А ты используешь else?

👉 Да, конечно, неявно такая практика рекомендуется и передовыми животноводами. но явного избегания else там нет:
https://google.github.io/styleguide/go/index
https://github.com/uber-go/guide/blob/master/style.md
Решение сначала добавить телеметрию в команду go, а потом решение сделать её opt-in, а не opt-out, вызвало целую бурю эмоций в сообществе. Ответы на этот твит показывают обе стороны: одни продолжают негодовать из-за всего связанного со злым Гуглом, другие хотят дать больше данных команде Go. Если вы пропустили, то очень советую почитать серию постов Расса Кокса целиком: https://research.swtch.com/telemetry Ну или послушать меня в недавнем DevZen, а потом – тоже прочитать.
func() {
f, err := os.Open("does-not-exist")
defer f.Close()

fmt.Println(err)
}()
func() {
f, err := net.Dial("tcp", "1.1.1.1:443") // network is down
defer f.Close()

fmt.Println(err)
}()
2025/07/01 11:11:18
Back to Top
HTML Embed Code: