@gogolang

Страница 1534 из 1630
Aleksandr
11.10.2018
14:08:05
в мапе не хранится порядок ключей, в котором они добавлялись
насколько помню, рандомный вывод задается только при переборе специально, а внутри оно все же упорядоченно

Aleksandr
11.10.2018
14:09:16
Дмитрий
11.10.2018
14:09:32
ну так используйте массив, а не мапу, да и все
не могу потому что данные map[string][string]CustomStruct

Google
Daniel
11.10.2018
14:09:57
тут вариантов два

то есть три, но третий - фуфло

Mykyta
11.10.2018
14:10:36
насколько помню, рандомный вывод задается только при переборе специально, а внутри оно все же упорядоченно
Мапа как структура данных не гарантирует последовательное расположение. Когда мапа маленькая, оно, конечно, может лежать в последовательности, но она в любой момент времени может поменяться (при вставке, удалении). Го же дополнительно еще и рандомайзит, чтобы недопрограммисты никогда не рассчитывали на порядок вставки

Zver
11.10.2018
14:10:39
Маршалите сами тогда.

Artem
11.10.2018
14:10:42
но корень зла у всех один

Aleksandr
11.10.2018
14:10:42
не могу потому что данные map[string][string]CustomStruct
данные которые у вас в приложении не обязаны быть один к одному к из представлению на фронте. Перепакуйте

Evgeniy
11.10.2018
14:11:12
Всем привет. https://www.ozon.ru/context/detail/id/34671680/ старая книжка или лучше свежее найти?

Aleksandr
11.10.2018
14:11:36
Всем привет. https://www.ozon.ru/context/detail/id/34671680/ старая книжка или лучше свежее найти?
для старта пойдет. Особо нового ничего не появилось

Daniel
11.10.2018
14:12:12
1. изменить структуру на []map[string][string]CustomStruct 2. добавить к ключам префикс вроде 00001-, чтобы они сортировались как вам хочется

Daniel
11.10.2018
14:12:33
3. костылить ordered dictionary

Дмитрий
11.10.2018
14:13:00
всем спасибо за советы.

Александр
11.10.2018
14:13:21
есть упорядочные мапы ?

Google
Александр
11.10.2018
14:13:43
на кастом типах народ развлекается

где то у меня в каком то парсере юзалось

Roman
11.10.2018
14:14:21
Daniel
11.10.2018
14:14:45
угу

Marlik
11.10.2018
14:25:17
как сохранить порядок ключей из мапа при маршалинге в json?
Если есть закономерность можно отсортировать.

Roman
11.10.2018
14:46:45
a := []int {1, 2, 3} c := a[0] c это копия?

Илья
11.10.2018
14:47:55
да

Vadim
11.10.2018
14:48:28
Чойта копия

Roman
11.10.2018
14:48:34
да
почему мы тогда можем провернуть такой прикол? https://goplay.space/#2KBFmt9VofV

Vadim
11.10.2018
14:48:47
Это слайс

С андерлаинг аррэем

Roman
11.10.2018
14:49:26
Это слайс
c это слайс?)

Vadim
11.10.2018
14:49:37
Roman
11.10.2018
14:50:53
потому, что &a[0] - это не копия
ну не, постой.. в моём понимании того как устроены операторы и коллекции в C++.. [] то это всего лишь функция, которая возвращает копию того, что нашла по индексу i

Roman
11.10.2018
14:51:56
следственно, если в Go это реализовано подобным путём, тогда [0] должен вернуть копию, а &[0] должен взять адрес копии, а не самого item'а

Google
Vadim
11.10.2018
14:52:46
Известный паттерн получения слайса из массива c := a[:]

Roman
11.10.2018
14:53:42
это в твоем понимании - c := a[0] - создать новую переменную с - тип и значение взять из a[0]
ну тогда c должен быть указателем но взять адрес у указателя и поменять знечение указателя не должно опять-же поменять данные

или они там мудрят на уровне компиля?

Daniel
11.10.2018
14:54:11
коллега

Roman
11.10.2018
14:54:17
и slice'ы в язык встроены ещё глубже чем я себе представлял?

Daniel
11.10.2018
14:54:19
вы о чем вообще?

Roman
11.10.2018
14:54:46
вы о чем вообще?
https://goplay.space/#2KBFmt9VofV пытаюсь понять почему это вообще возможно

Daniel
11.10.2018
14:54:52
и в с++ [] - не функция. и возвращает не копию

Илья
11.10.2018
14:55:27
https://goplay.space/#2KBFmt9VofV пытаюсь понять почему это вообще возможно
вы берете указатель на элемент underlying массива, и записываете туда новое значение, что не так?

Daniel
11.10.2018
14:55:35
https://goplay.space/#2KBFmt9VofV пытаюсь понять почему это вообще возможно
нормальное поведение. во всех языках так

Roman
11.10.2018
14:56:41
и в с++ [] - не функция. и возвращает не копию
зависит от имплементации, на самом деле это overloadable function: https://www.geeksforgeeks.org/overloading-subscript-or-array-index-operator-in-c/ // Implementation of [] operator. This function must return a // refernce as array element can be put on left side int &Array::operator[](int index) { if (index >= size) { cout << "Array index out of bound, exiting"; exit(0); } return ptr[index]; } в данном случае [] вернёт копию инта в Array

Daniel
11.10.2018
14:57:22
стандартное поведение - не такое

(как я ненавижу c++, вы бы знали)

Нави
11.10.2018
14:59:14
Daniel
11.10.2018
14:59:33
вот за это вот все. нечитаемо же.

Илья
11.10.2018
14:59:41
потому что перегрузка операторов придумана для людей, которым нечем заняться на выходных

Roman
11.10.2018
15:02:09
вы берете указатель на элемент underlying массива, и записываете туда новое значение, что не так?
да всё так, я лишь пытаюсь понять как оно устроено.. видимо &[] это отдельный композитный оператор, ибо на первый взгляд оно выглядит как сочитание index- и reference операторов, но тогда мутации на интах должны бы были быть невозможными, потому-что & брал бы адрес копированного инта в stack'е, поскольку [] возвращает копию но очевидно [] возвращает не копию, но даже если предположить что он возвращает указатель - всё-равно не должны бы было работать, потому-что тогда c был бы типом *int а это значит что & даст нам **int и *c = 2 вообще было бы нелегальным выходит что тут какая-то нестандартная магия

(как я ненавижу c++, вы бы знали)
аналогично)) но теперь бы ещё понять магию слайсов))

Google
Илья
11.10.2018
15:02:47
никакой магии

как раз нет

Artem
11.10.2018
15:03:43
запили уже immut линтер

Roman
11.10.2018
15:04:23
запили уже immut линтер
won't work, читайте

Илья
11.10.2018
15:04:31
с const poisoning, преферансам и профурсетками

Roman
11.10.2018
15:04:59
я сейчас вообще про слайсы и их индекс оператор, не про иммутабельность)

Artem
11.10.2018
15:05:24
Admin
ERROR: S client not available

Roman
11.10.2018
15:06:17
никакой магии
так если нет магии, то какого типа тогда c?)) он не копия, он не указатель, что он?))

Илья
11.10.2018
15:06:33
int

Andrei
11.10.2018
15:06:38
есть тут кто-нибудь, кто использует связку godep и зависимости из приватных репозиториев на gitlab.com? не могу заставить деп вытянуть зависимости ни по ssh ни по https c access токеном

Илья
11.10.2018
15:06:38
новый int

удивительно же! вы создаете переменную, и получаете переменную!

Roman
11.10.2018
15:07:58
новый int
окей, если c := a[0] это копия, тогда &a[0] это магия: https://goplay.space/#_okBf0W_i-f

ибо, ещё раз: если [] возвращает нам копию, то брать адрес копии не должно давать нам адреса самого инта в слайсе

Илья
11.10.2018
15:09:02
еще раз a[0] - не копия, но, когда вы создаете переменную, инициализируя ее из другой, происходит копирование

Roman
11.10.2018
15:09:40
значит [] это не обычная функция а некая лингвистическая магия Go)

Alexander
11.10.2018
15:11:28
> го > удивляться магии

Google
Andrei
11.10.2018
15:11:36
я прописывал в гитконфиге insteadOf с ssh на https
то есть нормально как в других пакетных менеджерах через Gopkg.toml не разрулить? печально

Artem
11.10.2018
15:12:21
ну если он приватный, то там нужны всекие пароли/ключи. тут только сам git поможет

Roman
11.10.2018
15:16:16
как и слайс, как и мап
ну вот я это и хотел уточнить

Dmitri
11.10.2018
15:18:22
вы не поняли...
Это вы не поняли. Адрес, который указатель, тоже место в памяти занимает

Wingman
11.10.2018
15:23:06
/*офтоп*/ камрады, а, совершенно случайно, нет среди присутствующих графана-ниндзей?)

Dmitri
11.10.2018
15:23:17
по сути тот же int нет смысла передавать по указателю
Бывает смысл. Если в исходное место надо что-то записать

Никита
11.10.2018
15:27:10
Я правильно понимаю что репозиторий может иметь только CRUD операции типа ListAll, Get, Store, Update, Delete и если допустим мы хотим реализовать метод Restore, который обновляет только одно значение active в нашей таблице, то мы должны использовать обобщенную метод Update, который обновляет данные целиком? Или же можно сделать отдельно метод Restore?

Никита
11.10.2018
15:29:57
ох уж этот rest)) вроде RPC, но вообще не RPC)))
Не, это я про интерфейс к бд)

Alexander
11.10.2018
15:33:13
репозиторий скрывает конкретную реализацию
<~> пакет скрывает конкретную реализацию <~> функция скрывает конкретную реализацию

<~> интерфейс скрывает конкретную реализацию

Илья
11.10.2018
15:35:23
<~> интерфейс скрывает конкретную реализацию
именно, репозиторий же интерфейс

Andrei
11.10.2018
15:35:36
ну если он приватный, то там нужны всекие пароли/ключи. тут только сам git поможет
там оказывается проблема с подгруппами репозиториев в гитлабе, ни go get ни go dep с ними работать не могут походу

Daniel
11.10.2018
15:36:00
чойта?

Alexander
11.10.2018
15:36:02
именно, репозиторий же интерфейс
где это репозиторий — интерфейс?

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