
Nik
30.08.2017
21:02:28
паника

Alexey
30.08.2017
21:02:31
Читать в цикле, пока не соберётся сколько надо байт

Nik
30.08.2017
21:02:32
да
в хедере

Google

Nik
30.08.2017
21:02:59
про int(uint32) прошу не комментировать пока))

Sergey
30.08.2017
21:05:52
вместо client.conn.Read(dataRes) сделай
_, err = io.ReadFull(client.conn, datalenRes)
https://golang.org/pkg/io/#ReadFull

Nik
30.08.2017
21:06:31
Ща попробую
Работает
Спасибо
А теперь можно немного пояснений?

Daniel
30.08.2017
21:09:09
какого рода?

Nik
30.08.2017
21:09:32
Читаю
ReadFull reads exactly len(buf) bytes from r into buf
Не понимаю, чем он от обычного Read метода отличается

Alexey
30.08.2017
21:10:21
> reads exactly len(buf)

Nik
30.08.2017
21:10:44
Это я тоже прочитал

Google

Nik
30.08.2017
21:10:58
Имеется ввиду, он ждет, пока в источник придет именно len(buf) байт?

Sergey
30.08.2017
21:10:59
>Read reads up to len(p) bytes into p. It returns the number of bytes read (0 <= n <= len(p)) and any error encountered
он не обязан читать вам len(p) bytes, лишь up to len(p)
я ж написал

Daniel
30.08.2017
21:11:28
тем, что обычный рид рочтет не больше, чем длина буфера, но и не будет ждать, пока в буфере os накопится столько, сколько влезет в буфер

Sergey
30.08.2017
21:11:36
https://golang.org/src/io/io.go?s=11382:11436#L303

Nik
30.08.2017
21:11:57
Вот теперь понял
ReadAtLeast
Там явно уже написано, что мы ждем наполнения определенным количеством

Sergey
30.08.2017
21:12:34
да я предполагал код прочитать, это нередко большее понимание дает, чем документация.

Nik
30.08.2017
21:12:45
Тогда наверно логичнее так
_, err = io.ReadAtLeast(client.conn, dataRes, datalenRes)
Меньше накладных в итоге

Alexey
30.08.2017
21:16:51

Daniel
30.08.2017
21:17:16
а куда он их прочитает?

Nik
30.08.2017
21:17:17
func ReadFull(r Reader, buf []byte) (n int, err error) {
return ReadAtLeast(r, buf, len(buf))
}
len я и так получил в хедере

Alexey
30.08.2017
21:18:54
Там внутри r.Read(buf[n:]), не прочитает больше)

Google

Daniel
30.08.2017
21:21:05

Alexey
30.08.2017
21:21:44

Nik
30.08.2017
21:26:28
Всем еще раз спасибо огромное, теперь могу спокойно пойти домой!

Aler
30.08.2017
21:39:32
Чат, можете помочь с exec.Command?
cmd := exec.Command(e.ExecPath, e.Arguments...)
fmt.Println(cmd.Args)
делаю такое и мне в консоль выдает:
[C:\Program Files\Unity 2017.1.0b7\Editor\Unity.exe -projectPath "G:\AOFG\projects\test" -createProject "test" -batchMode -quit]
но если я это делаю в ручную (ввожу команду в консоле) результат отличный от того который дает вызов через go
в чем проблема может быть?

Kirill
30.08.2017
21:41:01

Aler
30.08.2017
21:41:09
посмотреть что там
потом делаю out, err := cmd.Output()
просто убедиться, что команда верно создается

Kirill
30.08.2017
21:41:48
и err

Aler
30.08.2017
21:42:07
в нем ничего нету. Команда не печает ничего в консоль
и ошибки нету
странности какие-то. Но кажется есть идея. Разница похоже в wd
жуть какая-та и мистика.

Google

Aler
30.08.2017
21:56:12
я убрал из команды путь и задаю его через cmd.Dir. Но я просто не понимаю как может отличаться результат в зависимости от способа вызова?
Может Output() нарушать?

Diasko
31.08.2017
05:14:05
Подскажите может кто нибудь встречал для го плагены на подобии Yii2-debug и laravel-debugbar

Andrey
31.08.2017
07:54:57

Kirill
31.08.2017
12:44:57

Constantine
31.08.2017
12:46:17

Kirill
31.08.2017
12:48:23
???
Я мониторю иногда упоминания грэйма и себя, так иногда вопросы людей пропущенные откапываю и помогаю, если ещё нужно
А тут внезапно ?

Constantine
31.08.2017
12:56:57
в телеге неудобно в вопросе меншнов

Kirill
31.08.2017
13:04:37

.
31.08.2017
14:13:09
@kirilldanshin Что скажешь о тарантуле?

Aler
31.08.2017
14:23:01
Парни, а можно в го сделать как-то так: multidimensionSlice[1:][1]?
вот эти элементы из массива нужны

Aleksandr
31.08.2017
14:32:32
нет

Kirill
31.08.2017
15:27:56

Subbotin
31.08.2017
15:30:02
там же js тоже поддерживается не хуже луа