Mikalai
И в чём тогда проблема?
да ни в чем, просто тут кто-то сказал что кроме полного перебова равиантов нет
nvkv
hasResult := false for _, i := range myitems { if i == 42 { hasResult = true break } } if hasResult { ... }
nvkv
вот просто на ровном месте
nvkv
а потом удивляетесь, за что го не любят
🏳️ Phil
Сделай с деревом. В чём замес?
🏳️ Phil
А на Си как-то иначе?
nvkv
А что, си претендует на звание языка высокого уровня?
nvkv
Может там гарбедж коллектор есть?
Mikalai
// To complete the example above, the following code tries to find the value // x in an integer slice data sorted in ascending order: // // x := 23 // i := sort.Search(len(data), func(i int) bool { return data[i] >= x }) // if i < len(data) && data[i] == x { // // x is present at data[i] // } else { // // x is not present in data, // // but i is the index where it would be inserted. // } //
Мерль
Можно сгенерировать
Если нужно для нескольких типов
nvkv
Если нужно для нескольких типов
ну вот, начинается наркомания
nvkv
нет чтобы блядь дженерики сделать
🏳️ Phil
Может там гарбедж коллектор есть?
Нет, и что? Ну вот такого уровня Go. И это нормально.
nvkv
Можно сгенерировать
можно, конечно, забить болт, подцепить либу для "функционального го" и кастить типы
engelbart
Покажите как с деревом покрасивее, я посчитаю строчки.
engelbart
Может и правда нечего переживать
Мерль
нет чтобы блядь дженерики сделать
Ну, вы либо крестик снимите, либо трусы оденьте :D Я имею в виду, что раньше Go 2.0 дженериков нам не видать, так что если это критично и есть отвращение к кодогенерации, то на Go лучше не писать
nvkv
и тут без неё вполне можно было для базовых типов сделать
nvkv
банально в sort добавить функцию sort.SortAndSearchInts
nvkv
чтобы я мог в одну строчку это сделать и в иф засунуть
Mikalai
sort.SearchInts
Mikalai
только отсортировать, да
engelbart
SortAndSearchIntsOrStrings
Mikalai
или вообще IntSlice.Search(100500)
Mikalai
с чего собственно и начинался срачик
nvkv
вообще 0 проблем было это сделать
nvkv
и не понятно, почему этого не сделали
nvkv
или это ОБОЖЕ усложнение
nvkv
пжжди
nvkv
дак я же и спросил, я деградирую или нет?
Mikalai
https://golang.org/src/sort/search.go
nvkv
SeachInts работает на отсортированном массиве
nvkv
то есть в любом случае сначала его сортировать
Mikalai
+
nvkv
s/массиве/слайсе
nvkv
ну, то есть простым способом его не впихнуть в if
nvkv
в одну строчку
nvkv
wtf?
Mikalai
ну я предпочитаю всегда хранить данные отсортированными
nvkv
ну вот, у меня тут другая ситуация, мне нет резона их сортировать вообще
Mikalai
в мерах разумного, конечно
nvkv
то есть это только запутает читающего
nvkv
у меня там 5 элементов в массиве
Anonymous
ребят, какой веб фреймворк топ?
Anonymous
на го, естественно
Mikalai
ну тут щас по традиции должны начать обсирать фреймворки )))
Anonymous
Ruby on Rails
нет, я 2 года с этой парашей работаю. Спасибо, наелся. Уж лучшеб ханами
Mikalai
я gin юзаю
Конунг
echo неплох
nvkv
@demeliorator ты, кстати, был прав во всём
nvkv
ну, почти
Alexander 🐕
В чем именно на этот раз?
nvkv
ну пиздец же полный, а не язык
engelbart
Языков то много. Js например
nvkv
это ниже пояса удар был
Конунг
Языков то много. Js например
+1 JS — законом не запрещено
Alexander 🐕
JS это не язык
Alexander 🐕
Это ассемблер такой
engelbart
Не надо грязи
Nikolay
у меня там 5 элементов в массиве
ты уже тут сообщений настрочил столько, что функи нет такой перебрать слайс и вернуть есть такой элемент или нет, а это строчки три - уже бы управился ;-)
nvkv
спасибо за заботу
nvkv
но это не отменяет, что это кокойты ад
Конунг
я весь “тред” прочитал, но так и не понял, чем плох SearchInts для этого кейса
nvkv
Тем, что массив должен быть отсортирован предварительно
nvkv
это две строчки, а не один вызов инлайном внутри if
Конунг
аа, ну допустим
Nikolay
и да, проект опенсорс - можешь поучаствовать, раз добавить не сложно :-)
Конунг
ну а кто мешает наваять функу и юзать её в проекте как однострочник?
nvkv
ну а кто мешает наваять функу и юзать её в проекте как однострочник?
то, что она мне не нужна нигде, кроме этого конкретного места?
nvkv
вообще вы забавные ребята
nvkv
я знаю как решать эту проблему