ceiling cat
Но я забыл почему ._.
Niko
у меня там будет больше 1. Это ничего страшного?
nikita
у меня там будет больше 1. Это ничего страшного?
если точно знаешь сколько, выделяй память под них всех сразу
Niko
Но я забыл почему ._.
наверное потому, что за одну операцию все сделает
Vladimir
или знаешь что будет около какого-то колличества )
Niko
там наоборот, не знаю сколько, может быть и 0 и 25
Vladimir
там наоборот, не знаю сколько, может быть и 0 и 25
имеет смысл инициализировать чем-то если ты знаешь что будет элементов порядка миллиона
Vladimir
выделил под миллион
Vladimir
потом оно будет расти дальше, если надо
Vladimir
но первый миллион будет добавляться без переаллокации
Vladimir
также про слайсы
Vladimir
знаешь что в слайсе ожидается около 1 млн записей - делаешь make([]string, 0, 1000000)
ceiling cat
@Civiloid Можешь ответить пожалуйста, почему хеш таблицы и каналы создаются через make ?
Niko
т.е. я могу сделать у себя make(map[string][]string, 0, 25) и будет быстрее?
Vladimir
@Civiloid Можешь ответить пожалуйста, почему хеш таблицы и каналы создаются через make ?
я без понятия, но рискну предположить что это самый адекватный способ дать им возможность задать размер при инициализации
Niko
@Civiloid а в таких местах тоже make лучше использовать? myMap = map[string]string{ "ONE": n[0:2], "TWO": n[6:8], }
Vladimir
если статически инициализировать - можно и так
Niko
хочу как быстрей будет работать
Vladimir
хочу как быстрей будет работать
когда в профайлере вылезет - тогда и задумайся
nikita
хочу как быстрей будет работать
пока не поймешь, что что-то медленно, не надо ничего делать быстрее
Niko
@ngalayko мне кажется с таким подходом я никогда не пойму. Я с php кусок переписываю)))
Илья
@Civiloid Можешь ответить пожалуйста, почему хеш таблицы и каналы создаются через make ?
при инициализации нужно аллоцировать блок памяти на хипе, это делается коммандой make
Anonymous
мейк с преалокацией в мапе на 1 элемент? если уж задротничать - то пишите уж мейк и на мапу и каждый слайс ))
Vladimir
если ты статически проинициализируешь как выше чувак говорил
ceiling cat
при инициализации нужно аллоцировать блок памяти на хипе, это делается коммандой make
То есть, конкретно в случаях map и channel, нам необходимо уже выделить память под них, верно? Нельзя же просто объявить тип map и пользоваться им, насколько я помню: var q map[int]int q[1] = 3 panic
Niko
@Civiloid здесь я так понимаю я make не вставлю? Только где-то перед присвоением нужно make делать, так? type MyStruct struct { myMap map[string][]string }
Илья
:)
Илья
там make сам произойдёт
Niko
дело в том, что мой append и вызывает ошибку, если перед ним make не делаю
Niko
http://joxi.ru/82QjOadt1RZ0DA
Niko
Видели, какая круглая цифра?)
Vladimir
На мапу
Anonymous
ну, map то создать нужно :)
да, после этой декларации var myMap map[string][]string в переменной myMap  будет nil. тк это дефолтный тип для мап/слайсов. достаточно просто присвоить переменной что-то. например литерал.
Alexey 〒.
@Civiloid Можешь ответить пожалуйста, почему хеш таблицы и каналы создаются через make ?
не обязательно через make создавать map, функция необходима если нужно сразу выделить память под заданное колличество элементов. Пустую можно и через {} создать
Alexey 〒.
то, что я 3 раза написал
В случае канала же альтернатив мейку нет?
Мерль
Нужны ли кортежи в Go? Да – 38 👍👍👍👍👍👍👍 50% Нет – 38 👍👍👍👍👍👍👍 50% Обрезанные до пар ▫️ 0% 👥 76 people voted so far.
Илья
а пример нафига есть?
Michael
а пример нафига есть?
чтобы отвлечься от generics
Илья
кортежи из интерфейсов?
Anonymous
lmao
Мерль
Например когда работаешь с коллекциями И тебе тип, который ты хранишь в коллекции, нужен только в двух местах: в месте объявления массива и когда делаешь сортировку
Мерль
Меньше визуального мусора
Илья
я, видимо, не питонист, ты про слайсы?
Илья
зачем это нужно? и чем отличается от массива?
Илья
иммутабельный тапл, чем он поможет простому пролетарию?
ceiling cat
Может быть ключом в мапе
Aleksandr
это скорее сахарная мапа
ceiling cat
Если ключем является сложное значение
ceiling cat
Например координата
Илья
для этого есть struct
ceiling cat
Тогда сахар. Когда не хочется структуры писать
Мерль
зачем это нужно? и чем отличается от массива?
Можно хранить данные разных типов, нельзя изменить
Илья
в golang же, кроме string нет иммутабельных типов
Мерль
И это плохо (
ceiling cat
А predefined константы?
ceiling cat
Как в питоне, числа до 200
ceiling cat
А стоп, хрень сказал, ы
Michael
а если делать структурой и называть поля по смыслу, то и ок кмк
Мерль
а если делать структурой и называть поля по смыслу, то и ок кмк
Ок, но очень громоздко На каждый чих городить отдельную структуру
Мерль
+ иммутабельности очень хочется
Anonymous
Доброй ночи! А есть ли у го, api wrapper vk.com
Anonymous
?
Anton
Илья
тогда уже сразу нужно на lmgfy :)
Илья
http://lmgtfy.com/?iie=1&q=golang+vk+api
Anton
мне вот интересно стало, люди как-то находят этот чатик. а найти в гугле враппер к апи вк не могут?!
Anonymous
там ссылка не работающие вот спросил? а ты чё та против?
Alexey 〒.
мне вот интересно стало, люди как-то находят этот чатик. а найти в гугле враппер к апи вк не могут?!
даже в гугл не обязательно искать. Сразу на github https://github.com/search?l=Go&q=vk&s=stars
Илья
там ссылка не работающие вот спросил? а ты чё та против?
общение в интернете советую начинать с "Вы", тк вы не знаете, с кем говорите
Anton
там ссылка не работающие вот спросил? а ты чё та против?
ваще непротив. всё ровно без напряга чаты нужны штобы помогать друг другу