Victor
так в го тоже
ну, так скажем, можно и не придерживаться такого формата. То что gofmt так форматирует, это другой вопрос )
Тимофей
Emin Zalaev
датасасанисты
Evgeny
датасайентологи
Anonymous
Anonymous
Илья
Какой алгоритм ассиметричного шифрования быстрее RSA и есть в стандартной библиотеке го? копал в сторону ECDH, но proposal с пакетом для него только приняли
Илья
хочу сделать шифрование пароля при регистрации, или забить и надеяться на https?
Rostislav
а чем https то плох?
Rostislav
интернет на нем работает и отлично все
Rostislav
Илья
Rostislav
Ну по такой логике можно и публичный ключ перехватить на пути от сервера к тебе и заменить на свой
Rostislav
Просто логика какая. Если банки доверяют https, то мы тоже можем
Юра (Юрий Александрович)
Юра (Юрий Александрович)
Тут нужно отметить себе, что "бытовые" системы безопасности, такие как https, очень-очень хороши. И, если мы обоснованно предполагаем, что вышли за пределы их надежности, значит мы работаем с чем-то невообразимо безопасным. А там сразу ассортимент угроз расширяется на порядок, и такие системы проектируются, реализуются и эксплуатируются совершенно по-другому.
Юра (Юрий Александрович)
А если мы необоснованно предполагаем, что вышли за пределы надежности "бытовых" систем, то надо просто вернуться назад в рамки бытовых систем и спокойно (и грамотно) реализовывать свой продукт.
Yura
Всем привет. Вопросик: в метод приходит параметр с типом any. Как я могу определить его тип?
Илья
Илья
или switch v := i.(type) {} если хочешь сразу переменную получить
Yura
Супер, спасибо большое
Dmitry
Привет ребят
подскажите как работать с го
приходит json
{
"key": "value",
"key1": "value",
"key2": "value",
"key3": "value",
}
в go прописываю
var msg map[string]interface{}
fmt.Println(json.Unmarshal([]byte(jsonMsg), &msg))
как мне дальше работать как с ассоциативным массивом
могу ли я пройти его по порядку и выполнить необходимые мне операции ?
Dmitry
var msg map[string]interface{} потому что динамический массив
я изначально не могу задать строгую структуру
Emin Zalaev
У тебя key1, key2.. можеть быть одинаковым?
Dmitry
Dmitry
нет
Emin Zalaev
Ну по мапе можно про помощи range пройтись
Emin Zalaev
for i,el := range msg {
}
Dmitry
https://go.dev/play/p/9A57hlGaXtp
Dmitry
ща попробую
Emin Zalaev
i это key, el это value
Emin Zalaev
не ну вдруг не встречал ни разу
Emin Zalaev
я вот в чат по жсу кринжа наваливал
Emin Zalaev
чсвшные ублюдки
Dmitry
не надо стесняться )
Dmitry
Emin Zalaev
ты ретурн ставишь
Emin Zalaev
в мейне
Emin Zalaev
а он ничего не возвращает
Emin Zalaev
fmt.Println(err)
Emin Zalaev
вместо return err
Dmitry
так значит он в ошибку вошел
Emin Zalaev
https://go.dev/play/p/OttXzVr1NNE
Dmitry
или что-то не так понял ?
Dmitry
а че он в ошибку зашел я не пон
Emin Zalaev
https://go.dev/play/p/3s4eA60oIEN
Emin Zalaev
ну или так
Emin Zalaev
и ошибка вылетела на этапе компиляции а не выполнения
Dmitry
аааа
Emin Zalaev
это как что-то типа ты инициализировал новую переменную и не использовал ее
Emin Zalaev
хоть в условии ошибки ее инициализируй, это не значит, что условие выполнилось
max
Вопрос базового уровня по пакетам.
Я не могу запустить файл не из GOPATH, который содержит импорт написанного мной пакета, скомпилированного в GOPATH, но отсутствующего в GOROOT?
Юра (Юрий Александрович)
А т.к. скомпилированный исполнимый файл содержит в себе все необходимое для его запуска, у него вообще нет никаких статических зависимостей, ему все равно, где он лежит, и где лежат файлы Go, проекта и т.д.
max
Юра (Юрий Александрович)
Я не знаю (
Илья
Илья
я вручную в PATH добавлял путь для go install, может из-за этого не работает
Igor
Shohrukh
Привет всем
Shohrukh
Ребят в лс можете помочь кто нибудь пожалуйста
David
Подскажите пожалуйста, чем отличаются эти 2 объявления?
type opFuncType func(int,int) int
type opFuncType struct {result func(int,int) int}
Rostislav
Rostislav
Или о чем вопрос?
Rostislav
Не понмаю вообще зачем нужна такая конструкция
вторая конструкция - это обычная структура. Структуры я думаю понятно зачем нужны.
Первая конструкция это - псевдоним для типа. То есть вместо:
func(int,int) int
позволяет писать:
opFuncType
Rostislav
ой нет. Я неправильно написал.
Первая конструкция - это именно создание нового типа (а не псевдоним)
David
Так а чем обычная структура не угодила?
Структура это ведь набор типов как раз
Vladislav
и то и то создание нового типа
Vladislav
Vladislav
структура из одного значения в принципе более-менее эквивалентна просто самому значению
Vladislav
если в рассчёт не брать поведение полей и тегов к ним