@gogolang

Страница 379 из 1630
jdc
11.07.2017
13:23:45
Сам язык в этом случае пересоздает массив, увеличивая вдвое его длину
т.е. стирается старый массив и создается новый с х2 длинной, и записывается в старую переменную?!

Google
i
11.07.2017
13:26:21
var oldVar = &newHiddenArr?!
Пс, https://golang.org/doc/effective_go.html

https://blog.golang.org/go-slices-usage-and-internals даже ещё лучше и конкретно про массивы и слайсы

Aleksandr
11.07.2017
13:31:52
s := d[:]

Kirill
11.07.2017
13:35:03
Ща запутаете друг друга. Слайс всегда существует на основе какого-то массива

Олег
11.07.2017
13:36:14
Можно через аппенд!! https://play.golang.org/p/bnFsmYsRD3

Kirill
11.07.2017
13:37:09
Апенд добавляет элементы в слайс

Олег
11.07.2017
13:37:45
Апенд добавляет элементы в слайс
... или копирует один слайс в конец другого

Kirill
11.07.2017
13:38:00
Есть copy

Олег
11.07.2017
13:39:39
https://play.golang.org/p/Bmg6K1JmRF Да, copy лучше :)

Kirill
11.07.2017
13:39:49
... или копирует один слайс в конец другого
Добавляя все эти элементы а слайс, если длина позволяет. Либо пересоздает с запасом, потом добавляет)

Слайс всегда будет содержать ссылки на элементы массива, который лежит в основе.

Slava
11.07.2017
15:02:32
Одну ссылку на элемент и капасити в нём

Google
Aleksey
11.07.2017
15:13:52
Друзья, скиньте пример бест практис по написанию счетчика посещения страницы(hit counter), если это будет с драйвером postgresql , вообще шик

Michael
11.07.2017
15:25:23
i++

на всех платформах

Che
11.07.2017
15:28:13
Ashot
11.07.2017
15:28:46
двумерный массив?

Mike
11.07.2017
15:30:48
Вхат

Это массив ([]) массивов ([]) строк (string)

Писать свою структуру и в нее анмаршаллить

Привет типы

В твоих других языках тоже массивы массивов

Они просто неявные

А тут явные

Mike
11.07.2017
15:34:28
interface{} или рекурентно парсить и создавать новые типы по ходу

Che
11.07.2017
15:34:31
Aleksey
11.07.2017
15:34:48
Mike
11.07.2017
15:35:12
Или не отправлять с апи слишком усложненные структуры

Произвольная вложенность редко нужна

i
11.07.2017
15:35:49
Есть 2 варианта, писать на другом языке с динамической типизацией или изначально знать все структуры данных которые тебе будут приходить и анмаршалить в их

Mike
11.07.2017
15:36:17
Вообще не надо решать задачи для которых язык не предназначен например

Google
Mike
11.07.2017
15:36:29
Конечно лол

Не на го тоже лол

Структура же поменяется

Aleksey
11.07.2017
15:38:26
Слайс же делать нужно, не? Он же резиновый

Che
11.07.2017
15:39:16
там под себя переделаешь)

Ashot
11.07.2017
15:39:52
Тебе надо сначала убить в себе говнокодера :(

Aleksey
11.07.2017
15:40:37
Ashot
11.07.2017
15:40:50
:(

Che
11.07.2017
15:40:52
Спасибо
на здоровье

Анатолий
11.07.2017
19:23:22
Парни, подскажите: разбил свой main.go на три файла, запускаю go run *.go, а он мне ошибку выдает странную: D:\go\src\project>go run *.go GetFileAttributesEx *.go: The filename, directory name, or volume label syntax is incorrect.

Aleksandr
11.07.2017
19:25:25
main.go запускай

Анатолий
11.07.2017
19:26:19
я же говорю, я его разделил на три файла, прописав в них один package, go run main.go ругается что не видит функции которые я вынес

Aleksandr
11.07.2017
19:27:20
выноси в другой пэкэдж. из main читать не будет насколько я понимаю

оставь main.go, остальное вынеси

Анатолий
11.07.2017
19:28:18
неуместно другой package создавать

Slava
11.07.2017
19:28:43
Go run принимает список файлов для компиляции

Указывай каждый или через звездочку

Aleksandr
11.07.2017
19:28:59
неуместно другой package создавать
main.go - это точка входа. уместно все вынести в другой пэкэдж

Admin
ERROR: S client not available

Анатолий
11.07.2017
19:30:06
хм, тоесть вообще весь свой проект вынести в другой package, а main.go оставить в package main?

Google
Анатолий
11.07.2017
19:30:21
Звучит логично впринципе

Но я точно помню, что во время моего прохождения туториала go run *.go работал, а сейчас перестал

Ну да, я понял, это работает не в cmd и ps, это работает в линуксовых терминалах

Надо передать список всех файлов и взлетит

go run $(gci *.go | select -exp name) вот так работает в powershell

corpix
11.07.2017
19:46:00
хм, тоесть вообще весь свой проект вынести в другой package, а main.go оставить в package main?
Я например вот так делаю в каждом приложении https://github.com/corpix/market-fetcher/blob/master/market-fetcher/market-fetcher.go

Анатолий
11.07.2017
19:48:08
@corpix я не понел

хотя нет, немного понел

да, ясно, интересно, спасибо за наводку

corpix
11.07.2017
19:49:30
Ну я вообще люблю все сущности в программе поделить на отдельные пекеджи. Типа есть отдельный пекедж, который описывает CLI приложения, отдельный для конфигурации и т.п.

Но все они внутри одного репозитория с приложением сложены

Анатолий
11.07.2017
19:50:10
ну да, я с тобой коллинеарен в этом желании, но у меня кли и мне что делить?)

единственный минус - для всех твоих пакетов нужна такая запускалка или надо хостить пакет внутри пакета

это не плохо вроде, но как-то странно

мне нравится как ты пишешь, я поизучаю твой гитхаб. не то чтобы я спрашиваю разрешения, просто уведомляю =)

corpix
11.07.2017
19:54:07
Зависит от твоей предметной области :) Вот например в https://github.com/corpix/market-fetcher у меня следующая задача: затягивать данные с кучи криптовалютных бирж. Соответственно у меня там есть компоненты, которые оборачивают scheduler, который запускает задачи(которые могут быть сконфигурированны на уровне приложения, так что для них тоже есть отдельный компонент внутри, который оборачивает задачи scheduler). Ещё я хочу запускать задачи в пулле горутин и конфигурировать с уровня приложения его поведение, соответственно есть обертка для пулла(executor). Мои объяснения могут быть не очень понятными, лучше просто посмотреть код

единственный минус - для всех твоих пакетов нужна такая запускалка или надо хостить пакет внутри пакета
Я всё хосчу внутри репозитория, потому что пакеты, которые там представлены, имеют смысл только в рамках этого приложения. Если я нахожу что-то что хочется реиспользовать в другом приложении то вытаскиваю это в отдельный репозиторий

Slava
11.07.2017
23:45:59
https://www.howtographql.com/

Google
Slava
11.07.2017
23:46:05
ничё себе

corpix
12.07.2017
02:15:21
Люблю мейкфайлы :)

Обновил свой генератор Makefile для go проектов https://github.com/corpix/go-makefile#usage Самое важное изменение - переезд на glide, плюс теперь он умеет генерить мейкфайл: - для приложения/пакета(они немного отличаются по содержимому); - который поставит не только дефолтные тулзы, но и что-то кастомное на ваш вкус; - с инклюдами других мейкфайлов; - цели которого можно доопределять; - сохраняя или читая конфиг для генерации; И ещё некоторые кастомизации(смотрите --help у инструмента).

Mars
12.07.2017
04:09:24
Slava
12.07.2017
04:13:04
Спасибо!
а ты что-то на графкл делаешь?

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