@gogolang

Страница 1173 из 1630
GoodMoodDealler
21.06.2018
12:14:54
Смотрю сейчас на курсейре курс и они постоянно указателями обращаются

Jentry
21.06.2018
12:15:16
Что значит напрямую? По значению можно небольшие структуры передавать, это также гарантия, что они не будут изменены

GoodMoodDealler
21.06.2018
12:15:58
Jentry
21.06.2018
12:17:24
Выделяем память, кладем, сохраняем в переменную указатель, это много сложее и создает нагрузку на GC. Избегай указателей где этого можно

Google
Vadim
21.06.2018
12:18:01
Почему мы не можем всегда ссылаться на адрес структуры
Когда ты шлешь в функцию структуру или делаешь метод структуры, если ты сделал первый вариант при вызове метода/функции туда будет копироваться вся структура. А если ты записал в переменную аддрес структуры, в метод/функцию будет слаться этот адрес и после будет происходить взаимодействие с полями исходной структуры.

Jentry
21.06.2018
12:19:23
В го не очень любят shred state и стараются этого избегать где можно, так как это способствует трудноуловимым багам с гонками в условиях конкурентности, которую мы любим

Vadim
21.06.2018
12:21:01
С поинтерами сложнее работать gc. Также, зачем хранить ещё адрес структуры, если ты к ней будешь обращаться только локально.

GoodMoodDealler
21.06.2018
12:21:45
type structName struct { Name string ID int }

Jentry
21.06.2018
12:22:31
Я понимаю что такое указатели и как они работают
Мне кажется тебе нужно прочитать еще пару раз для просветления

Vadim
21.06.2018
12:22:49
Обращение к структуре без поинтера: 1. Нашел переменную 2. Делаешь грязные дела Обращение к структуре через поинтер: 1.Обратился к переменой, которая хранит адрес. 2. Переходишь по адресу 3. Делаешь грязные дела.

GoodMoodDealler
21.06.2018
12:22:55
type structName struct { Name string ID int }
Что именно я могу здесь изменить, если сошлюсь через поинтер?

Jentry
21.06.2018
12:23:44
GoodMoodDealler
21.06.2018
12:23:48
Просто я хочу на пальцах понять, чтобы быть уверенным

Google
GoodMoodDealler
21.06.2018
12:24:13
Мне кажется тебе нужно прочитать еще пару раз для просветления
А что можешь посоветовать на эту тему почитать?

Кроме офф документации

Jentry
21.06.2018
12:25:32
Кроме офф документации
Хз, я начинал с ассемблера, может тебе стоит пройти экскурс ассемблер-Си перед го, тогда ты точно начнешь понимать цену работы с кучей

Vladimir
21.06.2018
12:26:02
смотри на примере твоей структуры: если ты передашь структуру как есть в функцию - считай что это будет копия ее

изменишь в рамках функции - ничего не произойдет с основной

если в структуре указатели - то изменится значение и в оригинальной. Если указатель на структуру - также изменится значение в оригинальной

почитай про указатели в учебнике по Си

они точно такие же везде

Vladimir
21.06.2018
12:27:03
а в чем вопрос?

GoodMoodDealler
21.06.2018
12:27:45
Вопрос был именно в указательном методе

почитай про указатели в учебнике по Си
Ок, тогда к сишным и обращусь наверное)

Vladimir
21.06.2018
12:28:10
ну и?

GoodMoodDealler
21.06.2018
12:28:11
Спасибо)

ну и?
Да я не могу понять понял я или нет

Vladimir
21.06.2018
12:28:34
объясни как понял

GoodMoodDealler
21.06.2018
12:28:36
Сейчас на всякий почитаю еще

Ну обращение без указателя - работа с копией на стэке

Верно?

Это и безопаснее и быстрее как я понимаю

Google
Jentry
21.06.2018
12:30:07
Стек используется для передачи при вызове, далее снимается со стека и работается, не нужно говорить "работа с копией на стеке" - нет там никакой работы

Denis
21.06.2018
12:30:08
Это и безопаснее и быстрее как я понимаю
Не быстрее: чтобы создать копию, нужно несколько раз обратиться к памяти

Jentry
21.06.2018
12:30:32
быстрее, если там десяток байт и входит в один регистр

Vadim
21.06.2018
12:30:41
Скорость зависит от размера структуры.

Denis
21.06.2018
12:32:02
быстрее, если там десяток байт и входит в один регистр
Потому что в го поинтеры в какой-то обертке? А то поинтер-то в худшем случае всего 8 байт

Алексей
21.06.2018
12:32:13
быстрее, если там десяток байт и входит в один регистр
десяток байт в один регистр не войдёт

GoodMoodDealler
21.06.2018
12:32:18
Как я понимаю так выгодно работать с небольшим количеством информации, верно?

Ладно, пойду читать сишную литературу

Алексей
21.06.2018
12:34:07
Вообще по указателю надо передавать только в двух случаях: 1) если надо изменить данные 2) если структура очень большая

Petr
21.06.2018
12:34:17
Ладно, пойду читать сишную литературу
Тоже до этого дошел в свое время, когда начал гоу изучать )

Artem
21.06.2018
12:39:01
Всем привет http.DetectContentType(buffer) для файла формата xlsx - возвращает application/zip как еще можно проверить формат файла?

Aleksandr
21.06.2018
12:42:13
так правильно показывает

Artem
21.06.2018
12:44:31
а как проверить что это именно xlsx ?

Aleksandr
21.06.2018
12:44:39
по расширению

GoodMoodDealler
21.06.2018
12:49:56
по расширению
Не только

Вроде elf называлась либа, которая тебе нужна

Vladimir
21.06.2018
12:52:16
скорее libmagick если про сишную либу говорить

Google
GoodMoodDealler
21.06.2018
12:52:29
Она самая

Aleksandr
21.06.2018
12:53:14
Не только
как не только, если xlsx - это не формат, а расширение

GoodMoodDealler
21.06.2018
12:55:24
Крч есть проект на гитхабе

https://github.com/malice-plugins/fileinfo

Petr
21.06.2018
12:55:46
# cat /etc/mime.types |grep xlsx application/vnd.openxmlformats-officedocument.spreadsheetml.sheet xlsx

Admin
ERROR: S client not available

GoodMoodDealler
21.06.2018
12:55:55
Он хорошо умеет инфу по файлу собирать

Покопайся в нем и найдёшь то что тебе нужно

как не только, если xlsx - это не формат, а расширение
А он насколько я помню по внутренностям определяет

Artem
21.06.2018
12:57:01
filepath.ext принимает путь файла, у меня загрузка файла на сервер хотелось бы проверять до фактической загрузки

GoodMoodDealler
21.06.2018
12:58:08
Artem
21.06.2018
12:58:46
спасибо, ща буду разбирать

Aleksandr
21.06.2018
12:58:55
А он насколько я помню по внутренностям определяет
а это не про формат, а про эвристику

GoodMoodDealler
21.06.2018
12:59:38
а это не про формат, а про эвристику
Ну тут вопрос насколько ему важно определить тип и нужна ли ему эвристика

Иван
21.06.2018
13:00:35
https://github.com/h2non/filetype

xlsx - application/vnd.openxmlformats-officedocument.spreadsheetml.sheet поддерживает судя по описанию

Artem
21.06.2018
13:02:24
Иван
21.06.2018
13:03:00
да, правда)

Alexandr
21.06.2018
13:04:31
meehalkoff✪
21.06.2018
13:41:25
Подскажите полное руководство по golang templates. Устал уже обрывками гуглить

Google
Daniel
21.06.2018
15:04:47
коллеги, а кто у нас тут есть из админов golang jobs? надо обсудить

Petr
21.06.2018
15:07:39
Daniel
21.06.2018
15:08:18
@roman_kravchik ?
вот как раз с ним связаться не удается

но я не предлагаю обсудить действия модератора

Евгений
21.06.2018
15:11:21
А есть отдельный чатик с вакансиями?

Daniel
21.06.2018
15:11:56
вот как раз он :)

Евгений
21.06.2018
15:13:06
О как. Ну я тут вроде беспредела такого не замечал. Никого не защищаю и не выгораживаю.

Daniel
21.06.2018
15:13:47
там странная ситуация

Александр
21.06.2018
15:22:31
меня тоже замели там :(

Kirill
21.06.2018
15:22:35
Александр
21.06.2018
15:22:52
не знаю почему, я только вакансию постил

вот как раз с ним связаться не удается
воробей отвечает, но ничего не решает :(

Petr
21.06.2018
15:24:31
а чё там?
рандомные баны, даже админов банят ))

Страница 1173 из 1630