@gogolang

Страница 557 из 1630
Nikita
03.10.2017
19:26:53
Спасибо

Pawel
03.10.2017
19:34:49
надо добавить локи при обращении к мапе
не обязательно. начиная с 1.9 в гошечке есть потокобезопасные мапы

Mush
03.10.2017
19:50:27
не обязательно. начиная с 1.9 в гошечке есть потокобезопасные мапы
синтаксис взаимодействия с которой совершенно иной, и локи добавить физически проще

Google
Kirill
03.10.2017
20:19:40
синтаксис взаимодействия с которой совершенно иной, и локи добавить физически проще
Я молчу уже о вероятности чтения из предыдущей копии мапы и повышенном потреблении памяти

Nikita
03.10.2017
22:29:49
Идею уловил. Доеду до дома попробую применить
косяк оказался в настройке IDE для обычных файлов без раширений

табы ставились пробелами по умолчанию

Alexander
04.10.2017
06:10:19
Go: Вы создаете пулю и запускаете ее в полет. Тем временем создаете ногу, пистолет, и сообщаете пуле, что она должна лететь от пистолета к ноге. При подлете к ноге пуля исчезает, так как ногу простреливать запрещено.

Мерлин
04.10.2017
06:30:46
Go: пистолет есть, но пули обещают добавить в версии 2.0

Nick
04.10.2017
06:32:56
Пистолет слишком сложный. Скорее рогатка

Vladimir
04.10.2017
06:44:38
Пистолет слишком сложный. Скорее рогатка
Возможно в таком случае есть в стандартной библиотеке

А от рогатки в ней скорее всего только резинка

И та не завязывается

Ilya
04.10.2017
06:59:55
один unsafe разнесёт так, что только нога и останется

Vladimir
04.10.2017
07:00:24
А не пуля

Пулей в ногу стрелять нельзя

Google
Димка
04.10.2017
07:00:43
Andrew
04.10.2017
07:01:24
Fire in the hole!
Weapon.FireInTheHole()

Ivan
04.10.2017
07:05:52
Пистолет слишком сложный. Скорее рогатка
Много го-рогаток, можно миллионами создавать.

Andrew
04.10.2017
07:25:56
Много го-рогаток, можно миллионами создавать.
Главное не засовывать их в слайс, иначе не останется места под ногу (сборщица мусора баба Галя не ходит убираться в слайсы).

Мерлин
04.10.2017
08:37:50
Gophers love hardware #golang https://twitter.com/BenON3BKI/status/915155177866514432

Irina
04.10.2017
08:44:52
хочу такого гофера, практиковать с ним rubber duck debugging

Axm
04.10.2017
09:14:19
почему у этого маскота всегда такая морда, как будто он слабоумный?

Aleksandr
04.10.2017
09:18:22
http://ru.wikifur.com/w/images/c/c8/Little-pocket-gopher.jpg

Daniel
04.10.2017
09:20:39
почему у этого маскота всегда такая морда, как будто он слабоумный?
потому, что это маскот сообщества аутистов, на самом деле

Ivan
04.10.2017
09:27:09
Главное не засовывать их в слайс, иначе не останется места под ногу (сборщица мусора баба Галя не ходит убираться в слайсы).
Пыль с карт постряивает, мусор под слайды заметёт. Так ещё и жалобы, что медленно работает.

Roman
04.10.2017
12:33:17
Есть такой роут http.Handle("/graph", &relay.Handler {Schema: srvSchema}) Как мне к нему добавить allow origin * ?) Спасибо

in favor
04.10.2017
12:36:43
внутри хендлера ставишь этот заголовок

если не ошибаюсь

Roman
04.10.2017
12:37:19
Так то да.. но здесь некуда его поставить, ну или я не знаю куда ?

Никита
04.10.2017
12:38:20
оберни func addCORS(handler) handler

Anton
04.10.2017
13:03:05
привет, делаю вузовские лабы на го иии, тут таска типа стартануть и засуспендить тред (функционал ака https://www.tutorialspoint.com/java/java_thread_control.htm) У горутин ведь нет такого функционала? или я плохо ищу?

Google
Никита
04.10.2017
13:04:32
continue := make(chan bool, 1) select { case <-continue }

Никита
04.10.2017
13:05:22
а что за вуз с го?

Mike
04.10.2017
13:05:45
а что за вуз с го?
техносфера наверн

или сам выбрал

Anton
04.10.2017
13:06:21
мххм, ну через каналы вроде несовсем то - так можно ждать выполнения, но нельзя стопарнуть и запустить заново горутину не убивая?

язык прост любой можно, чисто ради практики

Alexander
04.10.2017
13:08:31
в го горутина это не ос тред прост поэтому врятли он для лабы подойдет твоей

Anton
04.10.2017
13:11:01
хмм, окс, я тогда пока с каналами потраю

Илья
04.10.2017
13:14:11
можно горутину к треду привязать

и ее залочить

хотя, это гарантирует только то, что горутина не уйдёт на другой тред, а тред при этом шедулер будет использовать

Anton
04.10.2017
13:15:57
???

а какой механизм привязки? го разве работает с тредами?

(соре, мои знания минимальны)

Илья
04.10.2017
13:16:54
https://golang.org/pkg/runtime/#LockOSThread

о, я не прав

Google
Илья
04.10.2017
13:17:23
тред не будет шедулить на этот тред ничего :)

Никита
04.10.2017
13:21:26
в чем подвох? https://play.golang.org/p/phF6M32u8s

если слайс - это указатель, то почему я не могу сделать append, передав его по значению? но изменить, могу - это ясно

Mush
04.10.2017
13:26:22
append - исключение для поведения слайса как указателя

Илья
04.10.2017
13:26:47
slice - это структура (lenght, capacity, data pointer)

append дописывает в data pointer и увеличивает length

при передаче slice в функцию, внутри функции у тебя копия такой структуры, указывающая на те же данные

поэтмоу изменить ты можешь, но, если ты меняешь length или capacity , это не отразится на слайсе извне

Никита
04.10.2017
13:28:44
то есть, внутри все равно лежит увеличенный массив, но я его не вижу из-за того, что len скопировался и не изменился снаружи?

Илья
04.10.2017
13:29:58
да

Никита
04.10.2017
13:30:14
да
прикольно

не видишь, из-за того что изменяешь не исходный слайс
в слайсе лежит ссылка на массив, изменить сам массив я могу

Илья
04.10.2017
13:32:03
в слайсе лежит ссылка на массив, изменить сам массив я могу
там лежит указатель на хип, не стоит путать себя "массивом" :)

Никита
04.10.2017
13:33:32
?

вы приняты

Eldar
04.10.2017
14:12:04
1024й

Aleksandr
04.10.2017
14:13:02
???

Maxim
04.10.2017
14:29:41
Привет! Помогите пожалуйста с синтаксисом var myMap map[string][]string myMap["keyString"] = append(myMap["keyString"], "value")

Google
Anatoly
04.10.2017
14:30:15
test - это отображение строки на слайс строк?

Maxim
04.10.2017
14:30:15
хочу добавить строку во вложенный массив

Секунду. Поправлю, а то не пойму о каком тесте идет речь

Mush
04.10.2017
14:31:33
создается неинициализированный слайс и мапа

поэтому аппенд не работает

Mush
04.10.2017
14:32:13
test := map[string][]string{} test["test"] = append(test["test"], "value")

Maxim
04.10.2017
14:32:16
поправил

Никита
04.10.2017
14:32:18
ага, у мапы начальное значение nil , так что будет паника

Vladimir
04.10.2017
14:32:31
поправил
myMap := make(map[string][]string)

и будет работать

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