Sergey
наконец то нормальная IDE, а не порнография vscode
Rostislav
а что за видос?
Denis
а что за видос?
Николай Тузов телеграм бот на гоу
Rostislav
не считается в го это нормальным.
разве что иногда. В 2х случаях: 1. Маленький скоуп. 2. Супер традиционное название переменной. Например i в цикле (и опять же от п.1. зависит) Но эти пункты независимы от языка. В го разве что ресиверы методов типо принято одной буквой называть. Хотя я не называю.
Не ну это
Да, я понял что он имеет ввиду, но я впервые сталкиваюсь в программировании с языком где считается нормальной практикой использовать непонятные имена для переменных
Чел, ты не видел код на вба. У меня парой ощущение, что там принято использовать переменные исключительно в рамках англ алфовита
Не ну это
А, ну ты это и показал, сорян 😂
Юра (Юрий Александрович)
Да, я понял что он имеет ввиду, но я впервые сталкиваюсь в программировании с языком где считается нормальной практикой использовать непонятные имена для переменных
Непонятные имена переменных в Go так же не приветствуются, как в любом другом языке. Исключение составляет реализация сложных алгоритмов, которые без документации и пояснения все равно непонятны. Например есть однобуквенные переменные в коде менеджера памяти рантайма и других системных пакетах.
Юра (Юрий Александрович)
Нет, просто есть фрагменты кода, которые ни с какими названиями переменных непонятно как работают (если смотришь в код без документации).
Denis
Нет, просто есть фрагменты кода, которые ни с какими названиями переменных непонятно как работают (если смотришь в код без документации).
Был озадачен вашим ответом, поэтому проконсультировался со специалистом который пишет на PHP и который шарит и в коде и в архитектуре на высоком уровне, он тоже не согласен Переменные должны быть понятными И если нет такого стандарта в GO, тогда это явно в корне не верно усложнять и без того сложный код
Юра (Юрий Александрович)
Придумайте понятные названия переменным А и B
Не ну это
Куда ещё понятнее?
Не ну это
Пупа и лупа
У меня так морских свинок зовут
Илья
Лупа не хотела работать, поэтому пупа работал за...
Не ну это
Пупа за Лупой
Илья
banof
Илья
ох уж эти темы обсуждений в Golang Go
Не ну это
И часто она суету наводила у Бокси?
Юра (Юрий Александрович)
Что есть А и В в этой схеме?
См. документацию. (если что, это Алгоритм Эвклида, я до сих пор не понимаю, как он работает)
Юра (Юрий Александрович)
А вот более знакомое и понятное:
Юра (Юрий Александрович)
Чтоэта?
Rostislav
ну тут а,б,ц - это можно сказать и есть названия из предметной области
Rostislav
хоть я и от части понимаю вашу мысль про алгритмы, где иногда фиг придумаешь название переменной, но все же такое встречается крайне редко, да и не в веб разработке
Юра (Юрий Александрович)
а в нем а и б - это firstNumber, secondNumber
Проблем в том, что с А и B творятся совершенно непонятные вещи. И первым и вторым числом переменные перестают быть достаточно быстро. На какой-то промежуточной итерации в них уже хранится что-то совершенно непонятное.
Rostislav
но это супер редкие ситуации. В 99% можно придумать название. Было бы желание
Юра (Юрий Александрович)
Да, в большинстве случаев переменным придумывать понятные имена можно и нужно.
🅞leksiy
В го принято использовать сокращения, но однобуквенные крайне редко, в определенных ситуациях, а так обычно resp, req и тд. Видел где-то ресурс, где перечислено много подобных устоявшихся сокращений для именования переменных в go
A
Ребят кто нибудь использует DI в го?
Denis
См. документацию. (если что, это Алгоритм Эвклида, я до сих пор не понимаю, как он работает)
"Даже если это тупо ядро языка и там просто операнды, то есть это не бизнес логика, то и надо их назвать firstOperand secondOperand это как минимум, для более хороших имен надо вникнуть в контекст операции, то есть если это разностная машина, то будет соответственно вычитаемое, уменьшаемое, разность люди даже для этого придумали понятные имена, а не а б и ц"
Sharifzoda
Привет
Sharifzoda
Можете помочь с одним заданием?!
Sharifzoda
Вопрос на счёт чтение файла
Sharifzoda
Буду благодарен, если дайте совет
Sharifzoda
Sharifzoda
Sharifzoda
Вот и сама задача
Sharifzoda
А это то, как я хотел решить, но ничего не получается
Grigorij
А это то, как я хотел решить, но ничего не получается
пройди дебаггером или сначала распечатай рекорды
Sharifzoda
Спасибо
Sharifzoda
Попробую
Maks
А что не получается?
kostyaBro
Это csv ж, там запятые, перенос строки.
Sharifzoda
В условии сказано, что таблица есть, длиной 10
Sharifzoda
Решил задачку, мужики
Sharifzoda
С помощью пакета path и функции walk
Sharifzoda
Спасибо за то, что откликнулись
kostyaBro
В условии сказано, что таблица есть, длиной 10
Но это ж csv. Ну какбы ладно если с 10 корректно отработало, хотя странно. У тебя таблица 10*10, даже если нет запятых и переносов строк, всеравно длина 100
kostyaBro
Может я пока просто не проснулся
Grigorij
загналась?
kostyaBro
Я тоже удивился, но таблица загналась под поиск и вывел нужный индекс
Но мне всё-таки кажется ты не то вывел. Сравни с тем что в файле. У тебя нечетные индексы это ',' поидее. Не просто так просят csv парсер.
Sharifzoda
Но мне всё-таки кажется ты не то вывел. Сравни с тем что в файле. У тебя нечетные индексы это ',' поидее. Не просто так просят csv парсер.
Требовалось найти цифру находящийся на 5 строчке и 3 позиции, что соответствует индексу 4 и 2, я задал это параметр и нашел цифру
Sharifzoda
Отправил и решение приняли
Sharifzoda
Так шо всё норм)
kostyaBro
Ну ок
Andrey
А я правильно понял, что ты все это локально на го 1.19 собираешь?
Andrey
Sharifzoda
А потом ответ отправляю учителям в степике
Null
Pattern matching in Golang A union and pattern matching package for Go Github Article @Golang_google
De͢͢͢nιs
De͢͢͢nιs
В чём преимущество относительно обычных интерфейсов?
De͢͢͢nιs
Вот пример реализации Option[T] с обычными дженериками, а это тоже самое, но посредством Matcher[T]. Во-первых, без Matcher[T] получается меньше кода. Во-вторых, у Option[T] мы можем добавлять собственные функции (Or(), String()). В-третьих, генерируется меньше лишнего: взять для сравнения функцию Or(), для Matcher[T] компилятор создал 69 строчек ассемблерного кода, а для Option[T].Or() — всего 11 строчек. Замечу, что реализация функционала не сильно отличается с тем лишь исключением, что для Matcher[T] нужно дополнительно реализовать функцию MatchOption[T]() с кучей входных параметров и относительно длинным switch.