Vladimir
Пулей в ногу стрелять нельзя
Dmitry
Мерль
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
ceiling cat
Axm
Daniel
Ivan
ceiling cat
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)
У горутин ведь нет такого функционала? или я плохо ищу?
Alexei
nikita
continue := make(chan bool, 1)
select {
case <-continue
}
Igor
nikita
а что за вуз с го?
Mike
или сам выбрал
Anton
мххм, ну через каналы вроде несовсем то - так можно ждать выполнения, но нельзя стопарнуть и запустить заново горутину не убивая?
Anton
язык прост любой можно, чисто ради практики
Alexander
в го горутина это не ос тред прост поэтому врятли он для лабы подойдет твоей
Alexey 〒.
Alexey 〒.
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 скопировался и не изменился снаружи?
Alexey 〒.
Илья
да
nikita
Alexey 〒.
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
поэтому аппенд не работает
Vladimir
Anonymous
test := map[string][]string{}
test["test"] = append(test["test"], "value")
Niko
поправил
nikita
ага, у мапы начальное значение nil , так что будет паника
Vladimir
поправил
myMap := make(map[string][]string)
Vladimir
и будет работать
Vladimir
поправил
https://play.golang.org/p/HHNmukJIPa
Vladimir
и на будущее шарь код сразу в play.golang.org если можешь
Niko
@Civiloid оо. Спасибо! Работает
Niko
@ngalayko в каком месте станет быстрее и почему?
Vladimir
ceiling cat
Вообще, один из приколов го
Типа хеш-таблицы и каналы инициализуются с помощью make