
Kirill
24.08.2017
23:38:44
я был очень наивен

Daniel
24.08.2017
23:39:05
я как раз не думал ничего такого
но вот это просто сюрприз

Google

Kirill
24.08.2017
23:39:18
в перле как-то не питаешь надежды ни на что
в своё время сюрпризом было увидеть в top20 ни одной своей функции

Daniel
24.08.2017
23:40:50
это как раз совершенно не сюрприз
я ни в одном языке своего там обычно не вижу

Kirill
24.08.2017
23:41:18
то тебе рантайм, то ещё какая-то дичь из stdlib, то какая-то внутренняя функция fasthttp
я тогда написал сначала top10, а там один runtime да stdlib. думал, что я как-то не так запустил и он не показывает мой код в принципе
ан нет, смотришь дальше - находишь что-то своё. но настолько незначительно, что думаешь - какого хрена я должен использовать встроенные типы, когда всё, что работает с приемлемой скоростью - структурки да unsafe?
но, к сожалению, ничего лучше гошки я так и не видел.

Michael
25.08.2017
05:19:02
оф доки Go реально хороши

Daniel
25.08.2017
07:18:38
Про перворманс - немного сказки

Andrew
25.08.2017
07:23:22
@twentydraft думаю pinned message можно убрать.

Vadiimmm:-)))
25.08.2017
07:33:04
парни, подскажите например есть число byte 32, как его сделать string "32"?

Google

Michael
25.08.2017
07:41:57

Ivan
25.08.2017
08:08:00
А мне тут странного хочется.
prefix_scan по map[string]string
возможно?

/dev/null
25.08.2017
08:08:31

Irek
25.08.2017
08:10:16

Ivan
25.08.2017
08:10:25
это то да

Mush
25.08.2017
08:10:59

Ivan
25.08.2017
08:11:08
во! точно

Mush
25.08.2017
08:11:09
точнее в надмапу

Alexander
25.08.2017
10:41:12
Guys, а тут про вакансии постить можно? Или лучше в какой-то специфичный чатик про который я не в курсе?

Daniel
25.08.2017
10:42:49
https://t.me/golangjob

Alexander
25.08.2017
10:50:45
как подставить в качестве аргумента функции результат, возвращённый другой функцией, если другая возвращает больше одного значения?

Andrew
25.08.2017
10:51:54

Alexander
25.08.2017
10:53:16

Andrew
25.08.2017
10:53:50

Kirill
25.08.2017
10:54:59

Alexander
25.08.2017
10:57:26
Юзай struct
а в структуру тоже через переменные загонять?

Andrew
25.08.2017
10:59:37

Kirill
25.08.2017
11:13:12
https://pbs.twimg.com/media/B3Fvg-sCYAAkLSV.jpg
тоже не очень

Daniel
25.08.2017
11:14:45
это довольно старая картинка, на самом деле

Alexander
25.08.2017
11:16:16

Google

Kirill
25.08.2017
11:28:57

Alexander
25.08.2017
12:06:28
пробежаться по структуре и выявить незаполненные поля - задача нетривиальная, как я понимаю?

Kirill
25.08.2017
12:10:11
Более того, большая часть будет заполнена *zero ещё при аллокации

Alexander
25.08.2017
12:12:24
где мой старый добрый !empty() ... ?

Ilya
25.08.2017
12:15:16

Kirill
25.08.2017
12:15:30

Alexander
25.08.2017
12:16:19
ну кто то сюда пришёл с С и java, ктото с пхп

Aleksandr
25.08.2017
12:16:30

Alexander
25.08.2017
12:16:33
не всем тут рады?

Kirill
25.08.2017
12:16:34
Я уже давно с пхп ушёл
А с сей не ухожу, таки

Kirill
25.08.2017
12:17:26
Ну - есть ещё немного HR'ов

Kirill
25.08.2017
12:17:45

Aleksandr
25.08.2017
12:17:59

Kirill
25.08.2017
12:18:16

Ilya
25.08.2017
12:18:20
а я на сях кодил в понедельник. после 15 лет их отсутствия в моей жизне.

Kirill
25.08.2017
12:18:45

Ilya
25.08.2017
12:18:53
постгес в сях это пиздец.

Google

Kirill
25.08.2017
12:19:29
А ты говорил об этом Бартунову?

Ilya
25.08.2017
12:19:40
когда строковый код ошибке получить надо как то через задний проход указав функции флажок
да я про древнюю клиентскую либу

Kirill
25.08.2017
12:20:03
Ты бы ещё нашёл самый первый коммит гошки и говорил бы - пиздец, язык не работает, нахера релизили вообще, ещё и коммит в восьмидесятых сделан, тогда же гита не было, идиоты

Ilya
25.08.2017
12:22:50
а. еще в сях надо знать у какой говняшки делать деаллок, а какую эта клиентская либа заодно с резалтом подгребет

Admin
ERROR: S client not available

Ilya
25.08.2017
12:22:53
фу

Мерлин
25.08.2017
12:22:53

Kirill
25.08.2017
12:23:54

Alexander
25.08.2017
12:45:52
func empty(v reflect.Value) bool {
switch v.Kind() {
case reflect.Int, reflect.Int8, reflect.Int16, reflect.Int32, reflect.Int64:
return v.Int() == 0
case reflect.Uint, reflect.Uint8, reflect.Uint16, reflect.Uint32, reflect.Uint64:
return v.Uint() == 0
case reflect.String:
return v.String() == ""
case reflect.Ptr, reflect.Slice, reflect.Map, reflect.Interface, reflect.Chan:
return v.IsNil()
case reflect.Bool:
return !v.Bool()
}
return false
}
чёт никто не кидается гнилыми помидорами )

Илья
25.08.2017
12:48:09
https://golang.org/pkg/reflect/#Zero
можно и с этой стороны зайти

Vadiimmm:-)))
25.08.2017
12:49:50
Парни есть последовательность байт 12, 13, 23, 25
нужно сделать json
{"0":12, "1": 13, "2": 23, "3": 25}
сделал так пока:
func ToBinJson(rc []byte) io.Reader {
var buffStr string
buff := bytes.NewBufferString(buffStr)
buff.WriteString("{")
for i := 0; i < len(rc); i++ {
buff.Write([]byte("\""))
buff.WriteString(strconv.Itoa(i))
buff.Write([]byte("\""))
buff.Write([]byte(": "))
buff.WriteString(fmt.Sprintf("%v", rc[i]))
if i < len(rc)-1 {
buff.Write([]byte(", "))
}
}
buff.WriteString("}")
return buff
}
можно ли лучше сделать?

Илья
25.08.2017
12:51:54
"\"" чтобы так не писать можно использовать `, т.е. "`
лучше чего нужно сделать?
buff.Write([]byte("\""))
buff.Write([]byte(": ")) это можно в одну инструкция записать :)

Vadiimmm:-)))
25.08.2017
12:53:19
ну это да, я из стринга собираю json - мне кажется это жесть же

anton
25.08.2017
12:53:54
конечно жесть..

Google

anton
25.08.2017
12:54:09
проще в мапу
а потом json.Marshal

Илья
25.08.2017
12:54:30
если важна производительность, то твоё решение лучше всего :)
если лень писать такое, то map

Vadiimmm:-)))
25.08.2017
12:54:45

Илья
25.08.2017
12:55:09
отчегож

Aleksandr
25.08.2017
12:56:30
шутите?? ?
вообще все внутренности го сделаны максимально низкоуровнево, поэтому такой вариант вполне концептуально подходит) зачем обмазываться маршаллерами с рефлексией, если можно тупо строку склеить. тем более простой варианть

Илья
25.08.2017
12:58:52
var buffStr string
buff := bytes.NewBufferString(buffStr) - это вы таким образом хотите buff := bytes.Buffer{} создать?

Мерлин
25.08.2017
12:59:21

Vasily Romanov
25.08.2017
12:59:27
А зачем там строковой бкфер? МОжно прямо байтовый сразу

Мерлин
25.08.2017
13:00:17

Aleksandr
25.08.2017
13:01:42
маршаллер писать для ланного случая сложнее

Vasily Romanov
25.08.2017
13:02:07
Это не так выгодно по памяти

Aleksandr
25.08.2017
13:02:40