:= b == 0 ? «a» : «b»
а пишу вот так
var test string
if b == 0 {
test = «a»
} else {
test = «b»
}
Почитайте ишью на гитхабе и всё поймёте
потому-что второе читабельно и понятно. А первое особенно с вложением превращается в "умный one-line", а такое сложно читать
это называется тернарный оператор синтаксический сахар - это вообще не про го, может быть, когда-нибудь, в го 1.99 ждите
ты в 2019 году не имел женериков. О чем мы говорим
пох как оно называется, я хочу, чтобы оно было
Пишут жопа слипается от сахара, живите так
Потому что ты можешь написать так на JavaScript)
нухз, если ты это постоянно читаешь, как в питоне например, то такая конструкция ожидаема и вполне читаема
я тебе могу if else внутри if else сделать будет так же непонятно
мне оба сложно читать. Проблема первого - монструозность и когнитивная сложность в связи с размером, особенно на фоне самой операции
Go склоняется к примитивности языка, а не к количеству фич
но в 1.99 обязательно реализуют запомните этот твит 😁
test := if b == 0 then "a" else "b" это было бы гораздо читабельнее но в Go нет и не будет then
ну либо вместо символьного ада сделать, как во все том же питоне - a if a > 0 else b
да без разницы, почему этого нет
Когда 1.99 выйдет, то спрашивать не с кого будет)
почитайте issue 🙂
какой именно?
всего-то ~45 лет надо подождать, не так много 🤷♂️
поищите ternary operator в github issues
Ставлю зуб, что отклонённый пропосал с этим уже имеется
Go за упрощение, а не за синтаксический сахар)
ну if else, которое занимет 4 строчки проще, если бы оно занимало в одну строку
... test := «b» if b == 0 { test = «a» } ...
Да, проще, т.к. читается лучше
в каком месте
Обсуждают сегодня