
Daniel
16.10.2017
09:51:45

Konstantins
16.10.2017
09:52:39
за одинаковые пакеты?
а есть у кого малюсенький проектик открытый, чтобы посмотреть на "кошерную" структуру?

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

Google

Zaur
16.10.2017
09:53:48

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

Konstantins
16.10.2017
09:58:39

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

Ilya
16.10.2017
09:59:14

Daniel
16.10.2017
10:00:19

Kirill
16.10.2017
10:01:42
Так в итоге можно пакет держать в подкаталоге проекта или это моветон и все должно лежать в src/ ?
за одинаковые пакеты в разных директориях (одного уровня)
так если они не одного уровня?
не одного - ок

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

Zaur
16.10.2017
10:02:40

Sergey
16.10.2017
10:06:50
А, уже кидали, сори

Konstantins
16.10.2017
10:07:47

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

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

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?

عاصم بن حارث
16.10.2017
10:37:03

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

Айбелив
16.10.2017
10:37:42

Daniel
16.10.2017
10:38:01

عاصم بن حارث
16.10.2017
10:38:08

Zaur
16.10.2017
10:38:46

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

Daniel
16.10.2017
10:39:21
да

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

Kirill
16.10.2017
11:50:48

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

nezorflame
16.10.2017
11:51:20
This never gets old

?
16.10.2017
11:51:29

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
}


Aleksandr
16.10.2017
12:12: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
}
может быть любой charset detector заюзать?

Alexey
16.10.2017
12:42:39

Zaur
16.10.2017
12:43:55

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

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
в доках искал?

Konstantins
16.10.2017
14:39:36

AxiS
16.10.2017
14:39:50