@proGO

Страница 927 из 1674
Konstantins
16.10.2017
09:52:39
за одинаковые пакеты?

а есть у кого малюсенький проектик открытый, чтобы посмотреть на "кошерную" структуру?

Daniel
16.10.2017
09:53:17
за одинаковые пакеты в разных директориях (одного уровня)

Google
Konstantins
16.10.2017
09:53:51
так если они не одного уровня?

Daniel
16.10.2017
09:54:03
не одного - ок

Konstantins
16.10.2017
09:54:17
ну а область видимости у них же будет пакетная, не?

Daniel
16.10.2017
09:54:22
нет

область видимости - одна директория

Konstantins
16.10.2017
09:54:42
а, ок

Daniel
16.10.2017
09:54:42
еще раз

Konstantins
16.10.2017
09:54:47
спасибо, что разъяснил

Daniel
16.10.2017
09:54:54
пакет существует только в контексте полного пути

Konstantins
16.10.2017
09:55:04
окей

просто после жавы когнитивно диссонирую, когда вижу в файле пакет одним словом

без точек, полного пути

Google
Konstantins
16.10.2017
09:56:05
тогда вообще не понятно, зачем в файле указывается пакет

Ilya
16.10.2017
09:57:50
Видимо, для совместимости

Daniel
16.10.2017
09:58:18
просто после жавы когнитивно диссонирую, когда вижу в файле пакет одним словом
так импортятся только стандартные. те, что в GOROOT лежат

Konstantins
16.10.2017
09:58:39
Видимо, для совместимости
совместимости с чем?

Phil
16.10.2017
09:58:42
Так. А вот в runtime StackHeap и HeapInuse достаточно, чтобы в перспективе понять, что внутри не течет?

Ilya
16.10.2017
09:59:14
совместимости с чем?
С ранними версиями go

Kirill
16.10.2017
10:01:42
Так в итоге можно пакет держать в подкаталоге проекта или это моветон и все должно лежать в src/ ?

за одинаковые пакеты в разных директориях (одного уровня)

так если они не одного уровня?

не одного - ок

Konstantins
16.10.2017
10:02:24
по сути, на пакеты можно забить и считать пакетом полный путь к go файлу?

Zaur
16.10.2017
10:02:40
> Писать import "../A" всегда импортить по полному пути import "myServer.loc/myAccountOnServer/MyProject/myPackage" tckb так не видно - больше ничем помочь не могу, тут шрифт по -больше не сделаешь
А если myPackage лежит в директории MyProject/src/dir1/dir2/myPackage, тогда надо писать: import "myServer.loc/myAccountOnServer/MyProject/dir1/dir2/myPackage" ?

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

Konstantins
16.10.2017
10:07:47
https://golang.org/doc/code.html
да этож смешно

عاصم بن حارث
16.10.2017
10:08:02
Доброго времени суток ))

Zaur
16.10.2017
10:10:18
а блин, всё, до меня дошло :) Т.е. надо указывать полный путь к пакету, относительно каталога src, а не писать путь до каталога "../../myPackage". Всем спасибо.

коллега, вы страдаете херней. импорты всегда должны быть по полному пути. если где-то они не по полному - это ошибка, которая вылезет боком многократно в самых неожиданных местах
Мы друг друга не поняли. Проблем в той репе в том, что у него пакет называется просто "domain", а надо было назвать "cleanarchitecture/domain" и положить в каталог "src/cleanarchitecture/domain", и обращаться по полному имени пакета import "cleanarchitecture/domain". А когда вы сказали что писать имя пакета это плохо - я зачем то подумал что надо писать путь до каталога, т.е. import "../domain" - и вот это меня смущало.

Google
Daniel
16.10.2017
10:31:30
> import "cleanarchitecture/domain" так можно импортить только стандартные пакеты. те, что в GOROOT все остальные - только по полному пути. больше повторять не буду

Zaur
16.10.2017
10:32:29
я тогда не понимаю, а что есть полный путь?

/Users/userName/projects/go-cleanarchitecture/src/cleanarchitecture/domain ?

Вот структура проекта: ./go-cleanarchitecture/ --main.go --/src/ ----/cleanarchitecture ------/domain/ --------domain.go ------/usecase/ --------usecase.go Как в файле usecase.go правильно обратится к методам из domain.go?

Daniel
16.10.2017
10:37:09
"github.com/Djarvur/parsewords" - вот так выглядить полный путь

Daniel
16.10.2017
10:38:01
import "cleanarchitecture/domain" func test() { domain.Hello }
коллеги, вы читать умеете?

عاصم بن حارث
16.10.2017
10:38:08
а что сделает go get?
Да, если забирать с удаленного репо

Zaur
16.10.2017
10:38:46
"github.com/Djarvur/parsewords" - вот так выглядить полный путь
Т.е. проблема в том, что файло проекта должно лежать не в src/cleanarchitecture/, а в src/github/username/cleanarchitecture/ ?

عاصم بن حارث
16.10.2017
10:38:59
Но, полный паз указывать в импорте эт верно

Zaur
16.10.2017
10:42:06
а если я не планирую никуда выкладывать этот проект? тогда как обозвать пакет?

Konstantins
16.10.2017
10:42:24
а ты обязан

?
16.10.2017
10:43:03
да

Alex
16.10.2017
10:46:16


Alexander
16.10.2017
10:49:58
Note that you don't need to publish your code to a remote repository before you can build it. It's just a good habit to organize your code as if you will publish it someday. In practice you can choose any arbitrary path name, as long as it is unique to the standard library and greater Go ecosystem.

Konstantins
16.10.2017
10:51:00
так там же в настройках есть

Google
Konstantins
16.10.2017
10:51:04
project path

Alex
16.10.2017
10:55:19
Пакет это краткое обозначение набора файлов в папке

Daniel
16.10.2017
10:58:38
Zaur
16.10.2017
11:00:19
тогда делай что хочешь, но сам и тихо :)
ясно понятно)) теперь все стало чуть более понятнее. Всем спасибо

Admin
ERROR: S client not available

Olzhas
16.10.2017
11:50:49
В одном из чатиков рубист не смог пройти /test_IQ три раза подряд

nezorflame
16.10.2017
11:51:20
This never gets old

Olzhas
16.10.2017
11:51:43
?
16.10.2017
11:51:50
Чего?

Olzhas
16.10.2017
11:52:00
IQ

?
16.10.2017
11:52:07
Только не это

nezorflame
16.10.2017
11:52:16
Тест на знание телеграма, скорее

Александр
16.10.2017
11:58:17
Всех приветствую! Подскажите новичку. Есть необходимость что-то делать с xml, но на вход приходит либо в utf-8 либо в windows-1251 причем без объявления. Столкнулся с Ридерами и Райтерами. Погуглив про повторные чтения из ридера, написал вот такую функцию. Подскажите, может есть вариант решения без чтения в буффер? и что по коду посоветуете? func foo(data io.Reader, result io.Writer) error { var buf bytes.Buffer body := io.TeeReader(data, &buf) decoder := xml.NewDecoder(body) var resBuf bytes.Buffer resWriter := bufio.NewWriter(&resBuf) err := bar(decoder, resWriter) if err != nil { if strings.Contains(err.Error(), "invalid UTF-8") { decoder2 := xml.NewDecoder(charmap.Windows1251.NewDecoder().Reader(&buf)) return bar(decoder2, result) } return err } resWriter.Flush() resReader := bufio.NewReader(&resbuf) _, err = io.Copy(result, resReader) if err != nil { return err } return nil }

Alexey
16.10.2017
12:42:39
а если я не планирую никуда выкладывать этот проект? тогда как обозвать пакет?
Прямо только на локальном компе хранишь? Без внешнего репозитория? А ты рисковый.

Alexey
16.10.2017
12:45:41
я этого не говорил)
Ну тогда проще всего путь к нему указать, и будет всё ок.

Zaur
16.10.2017
12:48:57
Ну тогда проще всего путь к нему указать, и будет всё ок.
Это я уже понял, да. Изначально вопрос был не про то, мне дали ответ не на тот вопрос который я задал, и в итоге я запутался. Сейчас вроде все понял.

Google
Pawel
16.10.2017
13:33:32
AxiS
16.10.2017
13:33:39
Вот структура проекта: ./go-cleanarchitecture/ --main.go --/src/ ----/cleanarchitecture ------/domain/ --------domain.go ------/usecase/ --------usecase.go Как в файле usecase.go правильно обратится к методам из domain.go?
/src/ излишний. Его в структуре проектов go опускают, так как в стандартном дереве src есть уровнем выше вашего пакета

Aleksandr
16.10.2017
13:34:40
например?
любой, в гугле гуглящийся

Pawel
16.10.2017
13:43:27
гугель ничего стОящего не показывает в этой области

Aleksandr
16.10.2017
13:44:05
такое например

Pawel
16.10.2017
13:45:11
это я видел, смущает что 5 лет не обновлялось. не в депрекейшене ли оно?

Aleksandr
16.10.2017
13:47:41
Nikolay
16.10.2017
14:28:18
товарищи, а можете немного по управлению памятью в го просветить? Вот, скажем, я шлю в канал из метода указатель на байтовый буфер, затем буфер этот чищу и функция завершается. Это же race condition получается, верно?

между сборщиком мусора и читалкой из канала

если же я шлю по значению, а не указатель, то все должно быть окей

Aleksey
16.10.2017
14:36:41
Всем привет, два дня назад пришел в мир Go. Поделитесь, пожалуйста, ссылками на гайды как правильно структурировать веб приложение? Поискал по сети - информации очень мало и каждый источник делает все по-своему.

Никита
16.10.2017
14:39:06
в доках искал?

Страница 927 из 1674