
Kirill
18.04.2018
17:16:23
да это не мои вопросы, статья была с ответами на эти вопросы

Phil
18.04.2018
17:55:43
Слушайте, а где в доке вот этот xml:"блаблабла"

Daniel
18.04.2018
17:58:26
не поверишь! https://golang.org/pkg/encoding/xml/#Marshal

Phil
18.04.2018
17:59:52
А

Google

Phil
18.04.2018
17:59:53
точно

Kirill
18.04.2018
18:19:40
и старая

Pawel
18.04.2018
18:36:29

Kirill
18.04.2018
18:37:32

Roman
18.04.2018
18:39:05

Pawel
18.04.2018
18:39:46

Daniel
18.04.2018
18:40:24
коллеги

Kirill
18.04.2018
18:40:28
вопрос то был чего я хотел. я ответил чего хотел)
то что это невозможно по различным причинам это понятно

Daniel
18.04.2018
18:40:28
буду банить

Александр
18.04.2018
18:55:00
* Тут была утка *

Kirill
18.04.2018
19:03:13
читаю про именование пакетов в го и чет не понятно
вот у меня например пакет/библиотека клиента к сервису, предположим у меня есть некий money server и к нему есть money client, как идеоматически верно будет обозвать пакет money client? или я в целом чет не так делаю

Александр
18.04.2018
19:05:06
на единой кодовой базе?

Google

Александр
18.04.2018
19:05:15
вы можете два бинарника сделать в одном проекте

Kirill
18.04.2018
19:05:54
1 репозиторий и там несколько сервисов
некоторые сервисы будут использовать эту одну библиотеку
имена типо money_client и moneyClient считаются в го не правильными, судя по их доке https://blog.golang.org/package-names

Александр
18.04.2018
19:06:37
/cmd/server/main.go (package main)
/cmd/client/main.go (package main)
/shared/money/money.go (package money)
/vendor/....
соотвественно если у вас goland то делаете два билда на каждую папку
проект от общего /

Kirill
18.04.2018
19:09:53
кажется понял, спс

Александр
18.04.2018
19:10:23
пути только абсолютные
что то в манер:
$GOPATH/src/github.com/MyName/MoneyProject/cmd/server/main.go (package main)
$GOPATH/src/github.com/MyName/MoneyProject/cmd/client/main.go (package main)
$GOPATH/src/github.com/MyName/MoneyProject/shared/money/money.go (package money)
$GOPATH/src/github.com/MyName/MoneyProject/vendor/....
ну это при условии что у вас исходники на github :)
в сырках импорты просто import "github.com/MyName/MoneyProject/shared/money"

Vlad
18.04.2018
19:16:10

Александр
18.04.2018
19:17:23
принято всегда класть основной код в /cmd/имябираника/main.go
но пакет будет при этом называется не по имени директори как всегда, а main
название внутри пакета значение не имеет
можете назвать хоть blablabla.go
потому что все файлы *.go при компиляции (ИЗ ОДНОГО ПАКЕТА!) сливаются в один
поэтому нет понятия "файл" есть понятие "пакет"

Vlad
18.04.2018
19:20:16
На Java немного похоже
Вроде

Google

Александр
18.04.2018
19:20:40
поэтому с имениванием файлов не парьтесь

Vlad
18.04.2018
19:21:20

Александр
18.04.2018
19:22:16
ну в стандарте вообще это не прописано
просто так завелось
негласно
https://habrahabr.ru/post/308198/
вот статья где подробно разжовано

Vlad
18.04.2018
19:25:12
Спасибо. Читал статьи про Гоу на хабре, а эту не видел.

Pawel
18.04.2018
19:32:55

Александр
18.04.2018
19:33:50
чо?
O_o
какой main

Kirill
18.04.2018
19:34:02

Pawel
18.04.2018
19:35:43
ну про это в вашем сообщении же не сказано было

vadim
18.04.2018
19:35:53
Fgg

Pawel
18.04.2018
19:37:12
А что смущает? сделайте всё в одном этом пакете, который как бы предназначен для повторного использования (название пофиг)

Александр
18.04.2018
19:37:53
в разных директориях

Pawel
18.04.2018
19:42:53
Если есть проблемы типа "что как обозвать и куда впихнуть" , значит вы что-то делаете не так. Скорее всего, работаете без спеки

Александр
18.04.2018
19:43:22

Google

Ivan
18.04.2018
19:43:29
Доброй ночи. Вопрос возник, безумный. Есть ли для гошки что то типо GWT, т.е писать UI web без использования javascript / html и прочих заморочек с вёрсткой?

Александр
18.04.2018
19:43:30
я помоему достаточно толково все разложил куда что

Admin
ERROR: S client not available

Александр
18.04.2018
19:43:40
и дал статью для ознакомления

Pawel
18.04.2018
19:44:03

Александр
18.04.2018
19:44:51
вообще то это почти стандарт
так раскладывать
пакет main лежит в /cmd/имябирника/main.go
остальное в shared или от корня, импортируемые библиотеки в папке /vendor (локальной)
в main при этом ничего толком и нету, работа с флагами, запуск вебсервера. Всякий бизнес - в отдельный пакет

Pawel
18.04.2018
19:49:18

Александр
18.04.2018
19:49:46
вообще то можно в дом в грязной обуви пройти
мир не рухнет
но НЕ ПРИНЯТО
посмотрите проекты на github открытые
прочитайте статью что выше дал

Pawel
18.04.2018
19:51:13

Александр
18.04.2018
19:51:34
это практика
советую глянуть проекты на гитхабе

Google

Pawel
18.04.2018
19:52:09

Александр
18.04.2018
19:53:01
https://github.com/uber/prototool
https://github.com/GoogleContainerTools/kaniko

Pawel
18.04.2018
19:53:58
единственное разумное ограничение - чтобы это было единообразно в пределах команды. Ты наивный, путаешь внутрикорпоративные правила с всеобщими стандартами

Александр
18.04.2018
19:54:43
вы понимаете разницу между "принято" и "стандарт"?

Pawel
18.04.2018
19:55:00

Александр
18.04.2018
19:55:21
это я просто проектов накидал с выдачи
как видите везде /cmd/$binName$/main.go
и это охренеть как удобно искать

Pawel
18.04.2018
20:02:36
ты не исправим. Есть тонны проектов, где это не так. Есть тонны случаев, когда имя cmd имеет совершенно другой смысл в контексте проекта. Про то что что-то там у кого-то принято - ну отучаемся уже говорить за весь интернет, а?
и бизнес логику размещать в main-е в общем случае ни что не мешает, если она ни где не используется повторно и покрыта тестами

Александр
18.04.2018
20:04:25
ну конечно, человек с вопросом "а как организовать первое приложение" придумает просто идеальную концепцию.