Vladimir
Пулей в ногу стрелять нельзя
Anonymous
Fire in the hole!
Weapon.FireInTheHole()
Ivan
Пистолет слишком сложный. Скорее рогатка
Много го-рогаток, можно миллионами создавать.
Anonymous
Много го-рогаток, можно миллионами создавать.
Главное не засовывать их в слайс, иначе не останется места под ногу (сборщица мусора баба Галя не ходит убираться в слайсы).
Мерль
Gophers love hardware #golang https://twitter.com/BenON3BKI/status/915155177866514432
Irina
хочу такого гофера, практиковать с ним rubber duck debugging
Axm
почему у этого маскота всегда такая морда, как будто он слабоумный?
Aleksandr
http://ru.wikifur.com/w/images/c/c8/Little-pocket-gopher.jpg
Daniel
почему у этого маскота всегда такая морда, как будто он слабоумный?
потому, что это маскот сообщества аутистов, на самом деле
Ivan
Главное не засовывать их в слайс, иначе не останется места под ногу (сборщица мусора баба Галя не ходит убираться в слайсы).
Пыль с карт постряивает, мусор под слайды заметёт. Так ещё и жалобы, что медленно работает.
Anonymous
Пыль с карт постряивает, мусор под слайды заметёт. Так ещё и жалобы, что медленно работает.
Почти двадцать гигов рогаток обрабатывает менее секунды, грех на неё жаловаться 😄
ℝei
Есть такой роут http.Handle("/graph", &relay.Handler {Schema: srvSchema}) Как мне к нему добавить allow origin * ?) Спасибо
ceiling cat
внутри хендлера ставишь этот заголовок
ceiling cat
если не ошибаюсь
ℝei
Так то да.. но здесь некуда его поставить, ну или я не знаю куда 😆
nikita
оберни func addCORS(handler) handler
Anton
привет, делаю вузовские лабы на го иии, тут таска типа стартануть и засуспендить тред (функционал ака https://www.tutorialspoint.com/java/java_thread_control.htm) У горутин ведь нет такого функционала? или я плохо ищу?
nikita
continue := make(chan bool, 1) select { case <-continue }
nikita
а что за вуз с го?
Mike
а что за вуз с го?
техносфера наверн
Mike
или сам выбрал
Anton
мххм, ну через каналы вроде несовсем то - так можно ждать выполнения, но нельзя стопарнуть и запустить заново горутину не убивая?
Anton
язык прост любой можно, чисто ради практики
Alexander
в го горутина это не ос тред прост поэтому врятли он для лабы подойдет твоей
Anton
хмм, окс, я тогда пока с каналами потраю
Илья
можно горутину к треду привязать
Илья
и ее залочить
Илья
хотя, это гарантирует только то, что горутина не уйдёт на другой тред, а тред при этом шедулер будет использовать
Anton
🤔🤔🤔
Anton
а какой механизм привязки? го разве работает с тредами?
Anton
(соре, мои знания минимальны)
Илья
https://golang.org/pkg/runtime/#LockOSThread
Илья
о, я не прав
Илья
тред не будет шедулить на этот тред ничего :)
nikita
в чем подвох? https://play.golang.org/p/phF6M32u8s
nikita
если слайс - это указатель, то почему я не могу сделать append, передав его по значению? но изменить, могу - это ясно
Anonymous
append - исключение для поведения слайса как указателя
Илья
slice - это структура (lenght, capacity, data pointer)
Илья
append дописывает в data pointer и увеличивает length
Илья
при передаче slice в функцию, внутри функции у тебя копия такой структуры, указывающая на те же данные
Илья
поэтмоу изменить ты можешь, но, если ты меняешь length или capacity , это не отразится на слайсе извне
nikita
то есть, внутри все равно лежит увеличенный массив, но я его не вижу из-за того, что len скопировался и не изменился снаружи?
Илья
да
nikita
да
прикольно
nikita
не видишь, из-за того что изменяешь не исходный слайс
в слайсе лежит ссылка на массив, изменить сам массив я могу
Илья
в слайсе лежит ссылка на массив, изменить сам массив я могу
там лежит указатель на хип, не стоит путать себя "массивом" :)
nikita
👍
nikita
вы приняты
Eldar
1024й
John
🍾🍾🍾
ceiling cat
Niko
Привет! Помогите пожалуйста с синтаксисом var myMap map[string][]string myMap["keyString"] = append(myMap["keyString"], "value")
Anatoly
test - это отображение строки на слайс строк?
Niko
хочу добавить строку во вложенный массив
Niko
Секунду. Поправлю, а то не пойму о каком тесте идет речь
Anonymous
создается неинициализированный слайс и мапа
Anonymous
поэтому аппенд не работает
Anonymous
test := map[string][]string{} test["test"] = append(test["test"], "value")
Niko
поправил
nikita
ага, у мапы начальное значение nil , так что будет паника
Vladimir
поправил
myMap := make(map[string][]string)
Vladimir
и будет работать
nikita
myMap := make(map[string][]string)
myMap := make(map[string][]string, 1) и будет быстрее!
Vladimir
поправил
https://play.golang.org/p/HHNmukJIPa
Vladimir
и на будущее шарь код сразу в play.golang.org если можешь
Niko
@Civiloid оо. Спасибо! Работает
Niko
@ngalayko в каком месте станет быстрее и почему?
Vladimir
@ngalayko в каком месте станет быстрее и почему?
сразу предаллоцирует 1 элемент )
ceiling cat
Вообще, один из приколов го Типа хеш-таблицы и каналы инициализуются с помощью make