
Roman
02.10.2018
14:01:40

Alexey
02.10.2018
14:02:11
я знаю

Mykyta
02.10.2018
14:05:53
"Встроенные" - это как? В го нет всроенных функций

Roman
02.10.2018
14:06:43

Google

Roman
02.10.2018
14:06:55
нашёл)))

Alex Milushev
02.10.2018
14:09:06
Привет, нашел вот такой код но смутно понимаю, что это и как оно работает, не подскажете что это?
var _ controller.Provisioner = &hostPathProvisioner{}
где controller.Provisioner это интерфейс а hostPathProvisioner это тип структура

Aleksandr
02.10.2018
14:10:31
думаю это проверка на интерфейс. не скомпилится
сайд эффект - выполнится init в пакете controller
больше не вижу практических применений

Daniel
02.10.2018
14:11:35
это именно проверка на интерфейс
я у себя всегда втыкаю - иначе рискую получить панику в рантайме

Alex Milushev
02.10.2018
14:12:05
ок, то есть если для hostPathProvisioner не будут определены методы интерфейса то код тупо не скомпилируется, так?

Daniel
02.10.2018
14:12:14
так

Alex Milushev
02.10.2018
14:12:21
отлично, спасибо большое

Roman
02.10.2018
14:16:01
https://golang.org/pkg/builtin/#append
func append(slice []Type, elems ...Type) []Type
Type это же generic type? он оптередляется при кодогенерации для всех используемых с append типов?

Илья
02.10.2018
14:17:47
типа того, но нет, без кодогенерации
// Type is here for the purposes of documentation only. It is a stand-in
// for any Go type, but represents the same type for any given function
// invocation.
type Type int

Google

Roman
02.10.2018
14:20:19

Mykyta
02.10.2018
14:22:08

Roman
02.10.2018
14:23:50
в любом случае стандартные generic функции Go должны по сути работать с любыми типами, в том числе и потенциально иммутабельными

Mykyta
02.10.2018
14:24:32
Например отправка в канал заменяется на такую функцию

Илья
02.10.2018
14:30:05

Roman
02.10.2018
14:31:10
unsafe.Pointer значит..
понятно

Mykyta
02.10.2018
14:33:08

Илья
02.10.2018
14:34:45
вообще, с immutable, скорее сюда лезть надо https://github.com/golang/go/blob/ef5037398385ff52b17af325a0ad82017bd65820/src/go/types/operand.go
разбор стейтмента append, вроде как тут https://github.com/golang/go/blob/ef5037398385ff52b17af325a0ad82017bd65820/src/go/types/builtins.go#L77

Roman
02.10.2018
14:38:27

Илья
02.10.2018
14:41:09


Roman
02.10.2018
14:42:17
танкисту не нужно понимать, как устроен двигатель его танка внутри, это отвлечёт его от боя с врагом, но он знает с какими проблемами он столкнулся в бою в которых виноват двигатель ?
https://golang.org/pkg/strings/#Join
вот это типичный кандидат на исправление
func Join(a const []string, sep string) string
Join не должен иметь право писать в a, тут нужна гарантия иммутабельности, ибо следующий код не будет иначе компилироваться:
func MyFunc(a const []string) {
// This won't compile,
// because Join takes a mutable slice,
// but we can't cast immut -> mut
concat := strings.Join(a, ",")
}
нам придётся отказываться от гарантии иммутабельности нашей a если мы хотим использовать golang.org/pkg/strings#Join
насчёт обратной совместимости: всё будет в порядке, старый код продолжит работать после изменения strings.Join ибо mut -> immut кастится implicitly


Alex Milushev
02.10.2018
15:20:12

Subbotin
02.10.2018
16:10:57
народ а поясните за модули
допустим у меня есть проект example.com/ololo/trololo который лежит у меня на винте в директории /tmp/trololo

Google

Subbotin
02.10.2018
16:11:52
у него есть go.mod в корне
теперь я допустим хочу сделать подмодуль example.com/ololo/trololo/config
как мне это сделать?

Aleksandr
02.10.2018
16:15:22
вложенную директорию создать и все

Subbotin
02.10.2018
16:15:42
а. действительто
только goland не подхватывает

Александр
02.10.2018
16:15:56
эм

Aleksandr
02.10.2018
16:16:14

Subbotin
02.10.2018
16:16:56
о. спасибо

$continue$
02.10.2018
16:31:15
всем, привет. как в submatch regex проверить существует ли массив с index = 1?

Daniel
02.10.2018
16:31:44
вопрос не ясен
где регекспы, а где массивы

$continue$
02.10.2018
16:33:01
результат от re.submatchstring
на рабоет минискрипт пишу. а уже дома)
m := r.FindStringSubmatch(input_string)
вот. у меня паника при обращении к m[1]

Daniel
02.10.2018
16:35:34
len(m)

Darwin
02.10.2018
16:35:37
cap(m)

Daniel
02.10.2018
16:35:48
cap - эт про другое

$continue$
02.10.2018
16:36:19
len(m)
но оно проверит на index только

Google

$continue$
02.10.2018
16:36:29
т.е в len же нужно указать len(m[0])

Daniel
02.10.2018
16:36:37
а?!
коллега, а вы gotour прошли?

$continue$
02.10.2018
16:39:35
меня компилятор обматерил за len(m)

Admin
ERROR: S client not available

$continue$
02.10.2018
16:39:40
либо я что-то не так сделал

Daniel
02.10.2018
16:40:30
что-то не так сделали

?
02.10.2018
16:42:15
@continue98 пройдите пожалуйста https://tour.golang.org/welcome/1

many-faced
02.10.2018
17:27:10
коллеги подскажите
как из базы из поля []float
мне получить []float64 ?
.Scan ругается
"sql: Scan error on column index 2: unsupported Scan, storing driver.Value type []uint8 into type *[]float64\"

Илья
02.10.2018
17:29:06
судя по ошибке, у вас не []float

Daniel
02.10.2018
17:29:16
1. а как у вас []float в базе хранится? и в какой?
2. конверсия слайсов разных типов - только созданием нового и копированием

many-faced
02.10.2018
17:30:43

Илья
02.10.2018
17:31:48
https://stackoverflow.com/questions/31946344/why-does-go-treat-a-postgresql-numeric-decimal-columns-as-uint8

Daniel
02.10.2018
17:32:00

many-faced
02.10.2018
17:33:56

Daniel
02.10.2018
17:34:44
или пользоваться специализированным пакетом (pg) для доступа к базе

Subbotin
02.10.2018
17:34:45

many-faced
02.10.2018
17:36:23
спасибо, понял

Google

Marperia
02.10.2018
17:38:07
Кстати о базах данных. Есть у кого опыт использования или своё мнение насчёт https://github.com/mailru/dbr?
Ссылка на доклад или статью тоже не помешает, если они были
Равно как и gocraft/dbr

Artem
02.10.2018
17:40:46

many-faced
02.10.2018
17:44:04

Artem
02.10.2018
17:50:16

many-faced
02.10.2018
17:57:40
угу

Sergey
02.10.2018
18:20:44
Никто случаем не знает, будет ли трансляция сие мероприятия https://corp.mail.ru/ru/press/events/515/ ? :)

Aleksandr
02.10.2018
18:26:02
@alek_si

Alexey
02.10.2018
18:27:01
Я без понятия

anatolii
02.10.2018
18:27:35
мейл ру очень любит пиариться, по этому шанс велик

Sergey
02.10.2018
18:28:37
Спасибо :)

Artem
02.10.2018
18:34:38
а че уже все, закрыли регистрацию?

Jack
02.10.2018
18:37:37
может кто шарит, или есть уже проект такой - хочу статический сайт впихнуть в переменные го, и отдавать их)

Daniel
02.10.2018
18:38:01
файлики вкомпилять в бинарник?

Jack
02.10.2018
18:38:13
ага